图片上传(加水印、缩略图、远程保存)的简单例子
图片上传(加水印、缩略图、远程保存)的简单例子(应用于51aspx.com)
该源码下载地址:http://51aspx.com/CV/ImageUpload
今天看到xiongeee发的文章使用使用FileUpload控件上传图片并自动生成缩略图、自动生成带文字和图片的水印图
觉得再加一个远程图片自动保存的功能可能就更实用了,在网上找了好多,都不完整,就自己写了一个
就写了一个测试,实现了以下功能
很实用的一个图片上传得例子
图片上传:生成缩略图 加文字水印 图片水印
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
liudao-MVP