永发信息网

asp.net 怎样下载远程图片

答案:2  悬赏:50  手机版
解决时间 2021-11-08 03:26
  • 提问者网友:浮克旳回音
  • 2021-11-07 18:09
asp.net 怎样下载远程图片
最佳答案
  • 五星知识达人网友:廢物販賣機
  • 2021-11-07 18:48
#region 下载图片并上传至图片服务器
public string SaveUrlPics( string strHTML, string path)
{
string picserver = new CommonBLL().GetItemValue("PICSERVER");//获取图片服务器地址
string[] imgurlAry = GetImgTag(strHTML);//获取文章中的图片地址
try
{
WebClient wc = new WebClient();
for (int i = 0; i < imgurlAry.Length; i++)
{
//暂时处理避免多次进行添加处理 不处理本机的情况
if(imgurlAry[i].IndexOf(picserver)<0)
{
string preStr = DateTime.Now.ToString("yyyyMMddHHmmssfff");
preStr = preStr + imgurlAry[i].Substring(imgurlAry[i].LastIndexOf("."));//获取图片的属性 生成图片名称
//下载的图片存储在TEMP文件夹中
wc.DownloadFile(imgurlAry[i], HttpContext.Current.Server.MapPath(path) + "/" + preStr);
//把图片上传至图片服务器
preStr = picserver + "/" + upImg(preStr, dropArtType.SelectedValue);
strHTML = strHTML.Replace(imgurlAry[i], preStr);
}
}
}
catch (Exception ex)
{
ShowMessage(ex.Message);
}
return strHTML;
}

#endregion参考资料:自己所做项目中使用的代码
全部回答
  • 1楼网友:廢物販賣機
  • 2021-11-07 19:39
40秒应该是下载图片所需的时间。你试我这个方法看。与你的差不多

public bool DownFile( string httpURL, string localFile )
{
FileStream fs = null ;
WebClient webClient = null;
try
{
string path = new FileInfo( localFile ).DirectoryName ;
webClient = new WebClient();
webClient.Credentials = CredentialCache.DefaultCredentials;
if ( !Directory.Exists( path ) )
{
Directory.CreateDirectory( path ) ;
}
fs = new FileStream( localFile, FileMode.Create, FileAccess.Write, FileShare.Read ) ;
byte[] data = webClient.DownloadData( httpURL )
fs.Write( data, 0, data.Length ) ;
fs.Flush( ) ;
return true ;
}
catch( Exception )
{
return false ;
}
finally
{
if ( null != fs )
{
fs.Close();
fs = null;
}
if ( null != _webClient )
{
webClient.Dispose();
webClient = null;
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯