图片上传(加水印、缩略图、远程保存)的简单例子

来源:互联网 发布:陈华亭去世原因知乎 编辑:程序博客网 时间:2024/04/29 13:33
 

图片上传(加水印、缩略图、远程保存)的简单例子(应用于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
原创粉丝点击