1
using System;
2
using System.Collections;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Web;
7
using System.Web.SessionState;
8
using System.Web.UI;
9
using System.Web.UI.WebControls;
10
using System.Web.UI.HtmlControls;
11
12
namespace MyTest
13
{
14
/// <summary>
15
/// 生成图片缩略图 的摘要说明。
16
/// </summary>
17
public class 生成图片缩略图 : System.Web.UI.Page
18
{
19
protected System.Web.UI.HtmlControls.HtmlInputFile upImage;
20
protected System.Web.UI.WebControls.Button btnUp;
21
protected System.Web.UI.WebControls.Image imageSource;
22
protected System.Web.UI.WebControls.Image imageSmall;
23
//定义image类的对象
24
System.Drawing.Image image,newimage;
25
//图片路径
26
protected string imagePath;
27
//图片类型
28
protected string imageType;
29
//图片名称
30
protected string imageName;
31
32
//提供一个回调方法,用于确定Image对象在执行生成缩略图操作时何时提前取消执行
33
//如果此方法确定GetThumbnailImage方法应提前停止执行,则返回true;否则返回false
34
System.Drawing.Image.GetThumbnailImageAbort callb = null;
35
36
private void Page_Load(object sender, System.EventArgs e)
37
{
38
// 在此处放置用户代码以初始化页面
39
}
40
41
Web 窗体设计器生成的代码
62
63
//"上传并生成缩略图"按钮的单击事件
64
private void btnUp_Click(object sender, System.EventArgs e)
65
{
66
string mPath;
67
if(this.upImage.PostedFile.FileName != "")
68
{
69
imagePath = upImage.PostedFile.FileName;
70
imageType = imagePath.Substring(imagePath.LastIndexOf(".")+1);//取图片类型
71
imageName = imagePath.Substring(imagePath.LastIndexOf("\\")+1);//取图片名称
72
73
if(imageType!= "jpg" && imageType!="gif")
74
{
75
Response.Write("<script>alert('对不起!请您选择JPG或者GIF格式的图片!')</script>");
76
return;
77
}
78
else
79
{
80
try
81
{
82
//建立虚拟路径
83
mPath = Server.MapPath("upFile");
84
//保存到虚拟路径
85
upImage.PostedFile.SaveAs(mPath+"\\"+imageName);
86
//显示原图
87
imageSource.ImageUrl = "upFile/"+imageName;
88
//为上传的图片建立引用
89
image = System.Drawing.Image.FromFile(mPath+"\\"+imageName);
90
//生成缩略图 取原图的1/10高,宽。
91
newimage = image.GetThumbnailImage(image.Width/10,image.Height/10,callb,new System.IntPtr());
92
//把缩略图保存到指定的虚拟路径
93
newimage.Save(Server.MapPath("upFile")+"\\small"+imageName);
94
//释放image对象占用的资源
95
image.Dispose();
96
//释放newimage对象的资源
97
newimage.Dispose();
98
//显示缩略图
99
imageSmall.ImageUrl="upFile/"+"small"+imageName;
100
Response.Write("上传成功!");
101
}
102
catch
103
{
104
Response.Write("上传失败!");
105
}
106
}
107
}
108
}
109
110
}
111
}
112

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

34

35

36

37

38

39

40

41

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112
