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