在ASP.NET里轻松实现缩略图

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 = "<h3>在ASP.NET里轻松实现缩略图</h3>"
        Button1.Text 
= "上载并显示缩略图"

    }


    
Web 窗体设计器生成的代码

    
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)); 
        MemStream.WriteTo(Response.OutputStream); 
    }
 

}

}

你可能感兴趣的:(asp.net)