• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

Dotnet之旅

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

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

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Thumbnail.aspx.cs" 
 Inherits
="aspxWeb.Thumbnail" 
%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
  
<HEAD> 
    
<title>在ASP.NET里轻松实现缩略图</title> 
    
<meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR"> 
    
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE"> 
    
<meta content="JavaScript" name="vs_defaultClientScript"> 
    
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"> 
  
</HEAD> 
  
<body MS_POSITIONING="GridLayout"> 
    
<asp:Label id="Label1" runat="server"></asp:Label> 
    
<form id="Form1" method="post" runat="server" enctype="multipart/form-data"> 
      
<INPUT type="file" name="file" width="600"><br><br> 
      
<asp:Button id="Button1" runat="server"></asp:Button> 
    
</form> 
  
</body> 
</HTML> 




后台代码 
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 窗体设计器生成的代码#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, 
100, 100,  
         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);  
   }
  

}
 
}
  

posted on 2005-05-26 10:14  浮游  阅读(356)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3