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

4

5

6

7

8

9



10

11

12

13

14

15

16

17



18

19

20

21

22

23



24

25

26



27

28

29

30

31

32

33
