觉得再加一个远程图片自动保存的功能可能就更实用了,在网上找了好多,都不完整,就自己写了一个
就写了一个测试,实现了以下功能
很实用的一个图片上传得例子
图片上传:生成缩略图 加文字水印 图片水印
51aspx.png为水印图片
远程图片抓取(保存到本地)支持jpg、gif、bmp、png
图片抓取后自动以Auto+日期+原名称命名
输入远程图片地址(支持Html)
这里仅仅贴出远程保存部分代码,其他部分请下载附件看好了,是一个完整的小例子,可能很多人觉得很菜,但是我觉得对大部分人还是有帮助的,也希望大家多多批评指点
1
//
自动保存远程图片
2
3 WebClient client = new WebClient();
4 // 备用Reg:<img.*?src=([\"\'])(http:\/\/.+\.(jpg|gif|bmp|bnp))\1.*?>
5 Regex reg = new Regex( " IMG[^>]*?src\\s*=\\s*(?:\ " ( ?< 1 > [ ^ \ " ]*)\ " | ' (?<1>[^\ ' ] * ) ' )", RegexOptions.IgnoreCase);
6 MatchCollection m = reg.Matches(TextBox1.Text);
7
8 foreach (Match math in m)
9 {
10 string imgUrl = math.Groups[1].Value;
11 //在原图片名称前加YYMMDD重名名并上传
12 Regex regName = new Regex(@"\w+.(?:jpg|gif|bmp|png)", RegexOptions.IgnoreCase);
13
14 string strNewImgName = DateTime.Now.ToShortDateString().Replace("-", "") + regName.Match(imgUrl).ToString();
15
16 try
17 {
18 //保存图片
19 client.DownloadFile(imgUrl, Server.MapPath("ImgUpload/Auto/" + strNewImgName));
20
21 }
22 catch
23 {
24 }
25 finally
26 {
27
28 }
29
30 client.Dispose();
31 }
32
33
2
3 WebClient client = new WebClient();
4 // 备用Reg:<img.*?src=([\"\'])(http:\/\/.+\.(jpg|gif|bmp|bnp))\1.*?>
5 Regex reg = new Regex( " IMG[^>]*?src\\s*=\\s*(?:\ " ( ?< 1 > [ ^ \ " ]*)\ " | ' (?<1>[^\ ' ] * ) ' )", RegexOptions.IgnoreCase);
6 MatchCollection m = reg.Matches(TextBox1.Text);
7
8 foreach (Match math in m)
9 {
10 string imgUrl = math.Groups[1].Value;
11 //在原图片名称前加YYMMDD重名名并上传
12 Regex regName = new Regex(@"\w+.(?:jpg|gif|bmp|png)", RegexOptions.IgnoreCase);
13
14 string strNewImgName = DateTime.Now.ToShortDateString().Replace("-", "") + regName.Match(imgUrl).ToString();
15
16 try
17 {
18 //保存图片
19 client.DownloadFile(imgUrl, Server.MapPath("ImgUpload/Auto/" + strNewImgName));
20
21 }
22 catch
23 {
24 }
25 finally
26 {
27
28 }
29
30 client.Dispose();
31 }
32
33
下载完整源码 http://51aspx.com/CV/ImageUpload
本文转自 liudao 博客园博客,原文链接:http://www.cnblogs.com/liudao/archive/2007/03/30/693877.html,如需转载请自行联系原作者