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![](/Images/OutliningIndicators/None.gif)
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![](/Images/OutliningIndicators/InBlock.gif)
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![](/Images/OutliningIndicators/InBlock.gif)
41
Web 窗体设计器生成的代码
62![](/Images/OutliningIndicators/InBlock.gif)
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![](/Images/OutliningIndicators/InBlock.gif)
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![](/Images/OutliningIndicators/InBlock.gif)
110
}
111
}
112![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
14
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/InBlock.gif)
64
![](/Images/OutliningIndicators/InBlock.gif)
65
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
66
![](/Images/OutliningIndicators/InBlock.gif)
67
![](/Images/OutliningIndicators/InBlock.gif)
68
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
69
![](/Images/OutliningIndicators/InBlock.gif)
70
![](/Images/OutliningIndicators/InBlock.gif)
71
![](/Images/OutliningIndicators/InBlock.gif)
72
![](/Images/OutliningIndicators/InBlock.gif)
73
![](/Images/OutliningIndicators/InBlock.gif)
74
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
75
![](/Images/OutliningIndicators/InBlock.gif)
76
![](/Images/OutliningIndicators/InBlock.gif)
77
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
78
![](/Images/OutliningIndicators/InBlock.gif)
79
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
80
![](/Images/OutliningIndicators/InBlock.gif)
81
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
82
![](/Images/OutliningIndicators/InBlock.gif)
83
![](/Images/OutliningIndicators/InBlock.gif)
84
![](/Images/OutliningIndicators/InBlock.gif)
85
![](/Images/OutliningIndicators/InBlock.gif)
86
![](/Images/OutliningIndicators/InBlock.gif)
87
![](/Images/OutliningIndicators/InBlock.gif)
88
![](/Images/OutliningIndicators/InBlock.gif)
89
![](/Images/OutliningIndicators/InBlock.gif)
90
![](/Images/OutliningIndicators/InBlock.gif)
91
![](/Images/OutliningIndicators/InBlock.gif)
92
![](/Images/OutliningIndicators/InBlock.gif)
93
![](/Images/OutliningIndicators/InBlock.gif)
94
![](/Images/OutliningIndicators/InBlock.gif)
95
![](/Images/OutliningIndicators/InBlock.gif)
96
![](/Images/OutliningIndicators/InBlock.gif)
97
![](/Images/OutliningIndicators/InBlock.gif)
98
![](/Images/OutliningIndicators/InBlock.gif)
99
![](/Images/OutliningIndicators/InBlock.gif)
100
![](/Images/OutliningIndicators/InBlock.gif)
101
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
102
![](/Images/OutliningIndicators/InBlock.gif)
103
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
104
![](/Images/OutliningIndicators/InBlock.gif)
105
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
106
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
107
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
108
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
109
![](/Images/OutliningIndicators/InBlock.gif)
110
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
111
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
112
![](/Images/OutliningIndicators/None.gif)