欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【ASP.NET保存远程图片到本地的函数】,下面是详细的分享!
ASP.NET保存远程图片到本地的函数
使用ASP.NET抓取远程图片保存到本地,是个不错的主意,这样图片的访问速度就快,以下是本站原创的保存远程图片到本地的函数,支持.bmp,.jpg,.jpeg,.gif,.png等格式的远程图片。
源代码如下:
导入命名空间
using System.Net;
using System.IO;
using System.Drawing.Imaging;
/// <summary>
/// 下载远程图片保存到本地
/// </summary>
/// <param name="savedir">本地保存路径</param>
/// <param name="imgpath">远程图片文件</param>
/// <returns></returns>
public string downRemoteImg(string savedir,string imgpath)
{
if (string.IsNullOrEmpty(imgpath))
return string.Empty;
else
{
string imgName=string.Empty;
string imgExt=string.Empty;
string saveFilePath=string.Empty;
imgName=imgpath.Substring(imgpath.LastIndexOf("/"), imgpath.Length - imgpath.LastIndexOf("/"));
imgExt=imgpath.Substring(imgpath.LastIndexOf("."), imgpath.Length - imgpath.LastIndexOf("."));
saveFilePath=Server.MapPath(savedir);
if (!Directory.Exists(saveFilePath))
Directory.CreateDirectory(saveFilePath);
try
{
WebRequest wreq=WebRequest.Create(imgpath);
wreq.Timeout=10000;
HttpWebResponse wresp=(HttpWebResponse)wreq.GetResponse();
Stream s=wresp.GetResponseStream();
System.Drawing.Image img;
img=System.Drawing.Image.FromStream(s);
switch (imgExt.ToLower())
{
case ".gif":
img.Save(saveFilePath + imgName, ImageFormat.Gif);
break;
case ".jpg":
case ".jpeg":
img.Save(saveFilePath + imgName, ImageFormat.Jpeg);
break;
case ".png":
img.Save(saveFilePath + imgName, ImageFormat.Png);
break;
case ".icon":
img.Save(saveFilePath + imgName, ImageFormat.Icon);
break;
case ".bmp":
img.Save(saveFilePath + imgName, ImageFormat.Bmp);
break;
}
img.Dispose();
s.Dispose();
return savedir + imgName;
}
catch
{
return imgpath;
}
}
}
使用方法:
如保存到本地的test目录:
Response.Write(this.downRemoteImg("test", "http://www.xueit.com/ads/top760.gif"));
作者:dodo 原文:http://www.xueit.com/html/2009-08/21_4234_00.html
以上所分享的是关于ASP.NET保存远程图片到本地的函数,下面是编辑为你推荐的有价值的用户互动:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
