【问题标题】:How to save image from remote URL using C# asp.net?如何使用 C# asp.net 从远程 URL 保存图像?
【发布时间】:2011-10-05 07:07:33
【问题描述】:


我正在使用 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 请求期间发生异常。

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

【问题讨论】:

  • 您的代码对我来说很好用。您是否在例外中获得任何进一步的信息?任何内部异常?
  • @David 我从远程 url 下载时遇到了上述异常。
  • 我遇到了实际问题并解决了问题。我使用 Path.GetExtension 将扩展名添加到文件中,然后它被破坏了。
  • Server.MapPath 的命名空间是什么?
  • 它说名称Server在当前上下文中不存在。

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


【解决方案1】:

你的代码很好。确保您的应用程序池身份可以访问具有写入权限的“上传”文件夹。

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

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

【讨论】:

  • 谢谢@Yener,实际上我自己解决了..扩展名有问题..当我用扩展名保存文件时......谢谢Abhishek
【解决方案2】:

您是否在不完全信任的情况下运行?如果是这样,您也不能发出任意 Web 请求。

【讨论】:

    【解决方案3】:

    我解决了这个问题异常来自扩展..

    当我得到 remoteImageUrl 路径的扩展时。

    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);
    

    效果很好。

    【讨论】:

    • 那么你如何“我避免来自 remoteImageURL 的“.cms”扩展名”??
    猜你喜欢
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    相关资源
    最近更新 更多