如何使用C#asp.net从远程URL保存图像?

时间:2011-07-14 12:14:49

标签: asp.net image url c#-3.0 webrequest


我在asp.net C#网站上工作,因为当我尝试从远程URL保存图像时遇到问题。
我试过下面的c#代码......

// C#代码

string remoteImageUrl= "http://www.bitpixels.com/getthumbnail?code=83306&url=http://live.indiatimes.com/default.cms?timesnow=1&size=200";
string strRealname = Path.GetFileName(remoteImageUrl);
string exts=Path.GetExtension(remoteImageUrl);

WebClient webClient = new WebClient();
webClient.DownloadFile(remoteImageUrl,Server.MapPath("~/upload/")+strRealname + exts);


当我从上方 remoteImageUrl 获取图片时,我收到错误" WebClient请求期间发生异常。&# 34;

如何获取并保存远程网址图像并将其存储在我的网站上传目录中。
或以任何其他方式获取远程网址图像。

3 个答案:

答案 0 :(得分:2)

我解决了这个问题由于扩展而导致异常..

当我获得remoteImageUrl Path的扩展时。

string exts = Path.GetExtension(remoteImageUrl);
string strRealname = Path.GetFileName(remoteImageUrl);

它返回“.cms”,因此异常抛出, 我从remoteImageURL中避免使用“.cms”扩展名,然后调用

WebClient webClient = new WebClient();
webClient.DownloadFile(remoteImageUrl,Server.MapPath("~/upload/")+strRealname + exts);

工作正常。

答案 1 :(得分:1)

Yout代码很好。确保您的应用程序池标识可以访问具有写访问权限的“upload”文件夹。

如果您使用的是代理服务器,则还应在web.config文件中指定。

<system.net>
  <defaultProxy enabled="true" useDefaultCredentials="true"></defaultProxy>
</system.net>

答案 2 :(得分:0)

你是否在完全信任之下运行?如果是这样,您也无法发出任意Web请求。