页面:

<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="UP" OnClick="Button1_Click" />
</div>
</form>

后台:  

     protected void Button1_Click(object sender, EventArgs e)
{
UpImageFile(FileUpload1);
}

protected void UpImageFile(FileUpload fileLoad)
{
if (fileLoad.HasFile)
{
string fileType = fileLoad.PostedFile.ContentType;
if (fileType == "image/bmp" || fileType == "image/pjpeg" || fileType == "image/gif" || fileType == "image/png")
{
string loadPath = fileLoad.PostedFile.FileName; //等待上传文件的本地路径
System.Drawing.Image img = System.Drawing.Image.FromFile(loadPath);
if (img.Height > 100 || img.Width > 100)
{
FileInfo info
= new FileInfo(loadPath);
string fName = info.Name; //获取原文件名
string fileName = DateTime.Now.ToString("yyMMddhhmmss") + fName; //在文件名中加入时间
string imgPath = Server.MapPath("/UpFile/OrImages/") + fileName; //原文件路径
string thPath = Server.MapPath("/UpFile/ThImages/") + fileName; //缩略图路径
fileLoad.SaveAs(imgPath); //保存原图片
MakeThumnail(imgPath, thPath); //生成缩略图
}
else
{
//图片尺寸太小
}
}
else
{
//文件格式不对
}

}
}

protected void MakeThumnail(string orPath, string thPath)
{
System.Drawing.Image img
= System.Drawing.Image.FromFile(orPath);
int width = 100; //设置缩略图的宽为100
int height = img.Height * width / img.Width; //缩略图的高按比例缩小
System.Drawing.Image bitmap = new System.Drawing.Bitmap(width, height); //创建一个空位图
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap); //创建画板
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设定为高质量插值
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //指定高质量低速度呈现
g.Clear(Color.Transparent);
g.DrawImage(img,
new Rectangle(0, 0, width, height));
try
{
bitmap.Save(thPath, System.Drawing.Imaging.ImageFormat.Jpeg);
//以JPG格式保存图片
}
catch (System.Exception e)
{
throw e;
}
finally
{
img.Dispose();
bitmap.Dispose();
g.Dispose();
}
}
posted on 2011-04-24 23:23  Robbery  阅读(661)  评论(0编辑  收藏  举报