刷流量

C#中上传图片并生成缩略图

using System; 
using System.Collections; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Web; 
using System.Web.SessionState; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.HtmlControls; 
using System.IO; 
using System.Drawing.Imaging; 

namespace eMeng.Exam 

/// <summary> 
/// Thumbnail 的摘要说明。 
/// </summary> 
public class Thumbnail : System.Web.UI.Page 

protected System.Web.UI.WebControls.Label Label1; 
protected System.Web.UI.WebControls.Button Button1; 

private void Page_Load(object sender, System.EventArgs e) 

// 在此处放置用户代码以初始化页面 
Label1.Text = ""
Button1.Text 
= "上载并显示缩略图"



#region Web 窗体设计器生成的代码 
override protected void OnInit(EventArgs e) 

// 
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 
// 
InitializeComponent(); 
base.OnInit(e); 


/// <summary> 
/// 设计器支持所需的方法 - 不要使用代码编辑器修改 
/// 此方法的内容。 
/// </summary> 
private void InitializeComponent() 

this.Button1.Click += new System.EventHandler(this.Button1_Click); 
this.Load += new System.EventHandler(this.Page_Load); 


#endregion 

private void Button1_Click(object sender, System.EventArgs e) 

HttpFileCollection MyFileColl 
= HttpContext.Current.Request.Files; 
HttpPostedFile MyPostedFile 
= MyFileColl[0]; 

if (MyPostedFile.ContentType.ToString().ToLower().IndexOf("image"< 0

Response.Write(
"无效的图形格式。"); 
return

GetThumbNail(MyPostedFile.FileName, 
100100
MyPostedFile.ContentType.ToString(), 
false, MyPostedFile.InputStream); 

private System.Drawing.Imaging.ImageFormat GetImageType(object strContentType) 

if ((strContentType.ToString().ToLower()) == "image/pjpeg"

return System.Drawing.Imaging.ImageFormat.Jpeg; 

else if ((strContentType.ToString().ToLower()) == "image/gif"

return System.Drawing.Imaging.ImageFormat.Gif; 

else if ((strContentType.ToString().ToLower()) == "image/bmp"

return System.Drawing.Imaging.ImageFormat.Bmp; 

else if ((strContentType.ToString().ToLower()) == "image/tiff"

return System.Drawing.Imaging.ImageFormat.Tiff; 

else if ((strContentType.ToString().ToLower()) == "image/x-icon"

return System.Drawing.Imaging.ImageFormat.Icon; 

else if ((strContentType.ToString().ToLower()) == "image/x-png"

return System.Drawing.Imaging.ImageFormat.Png; 

else if ((strContentType.ToString().ToLower()) == "image/x-emf"

return System.Drawing.Imaging.ImageFormat.Emf; 

else if ((strContentType.ToString().ToLower()) == "image/x-exif"

return System.Drawing.Imaging.ImageFormat.Exif; 

else if ((strContentType.ToString().ToLower()) == "image/x-wmf"

return System.Drawing.Imaging.ImageFormat.Wmf; 

else 

return System.Drawing.Imaging.ImageFormat.MemoryBmp; 



private void GetThumbNail(string strFileName, int iWidth, int iheight, 
string strContentType, bool blnGetFromFile, System.IO.Stream ImgStream) 

System.Drawing.Image oImg; 

if (blnGetFromFile) 

oImg 
= System.Drawing.Image.FromFile(strFileName); 

else 

oImg 
= System.Drawing.Image.FromStream(ImgStream); 

oImg 
= oImg.GetThumbnailImage(iWidth, iheight, null, IntPtr.Zero); 
string strGuid = System.Guid.NewGuid().ToString().ToUpper(); 
string strFileExt = strFileName.Substring(strFileName.LastIndexOf(".")); 
Response.ContentType 
= strContentType; 
MemoryStream MemStream 
= new MemoryStream(); 
oImg.Save(MemStream, GetImageType(strContentType)); 
MemStre
posted @ 2009-02-27 15:28  雪雨星风  阅读(710)  评论(1编辑  收藏  举报

刷流量