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

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

http://lucky_elove.www1.dotnetplayground.com/

以前,在页面上实现缩略图必须借助第三方组件。现在,有了.NET,就可以很轻松地实现缩略图。下面就是实现缩略图的例子。

查看例子

代码如下:Thumbnail.aspx

   <%@ Page Language="vb" AutoEventWireup="false" Codebehind="Thumbnail.aspx.vb" 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> 
 

后代码:Thumbnail.aspx.vb

   Imports SystemImports System.WebImports System.DrawingImports System.IOImports System.Drawing.ImagingPublic Class Thumbnail Inherits System.Web.UI.Page Protected WithEvents Label1 As System.Web.UI.WebControls.Label Protected WithEvents Button1 As System.Web.UI.WebControls.Button#Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub#End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label1.Text = "<h3>在ASP.NET里轻松实现缩略图</h3>" Button1.Text = "上载并显示缩略图" End Sub Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim MyFileColl As HttpFileCollection = HttpContext.Current.Request.Files Dim MyPostedFile As HttpPostedFile = MyFileColl.Item(0) If LCase(MyPostedFile.ContentType.ToString()).IndexOf("image") < 0 Then Response.Write("无效的图形格式。") Exit Sub End If GetThumbNail(MyPostedFile.FileName, 100, 100, MyPostedFile.ContentType.ToString(),_ False, MyPostedFile.InputStream) End Sub Private Function GetImageType(ByVal strContentType) As System.Drawing.Imaging.ImageFormat Select Case (strContentType.ToString().ToLower()) Case "image/pjpeg" GetImageType = System.Drawing.Imaging.ImageFormat.Jpeg Case "image/gif" GetImageType = System.Drawing.Imaging.ImageFormat.Gif Case "image/bmp" GetImageType = System.Drawing.Imaging.ImageFormat.Bmp Case "image/tiff" GetImageType = System.Drawing.Imaging.ImageFormat.Tiff Case "image/x-icon" GetImageType = System.Drawing.Imaging.ImageFormat.Icon Case "image/x-png" GetImageType = System.Drawing.Imaging.ImageFormat.Png Case "image/x-emf" GetImageType = System.Drawing.Imaging.ImageFormat.Emf Case "image/x-exif" GetImageType = System.Drawing.Imaging.ImageFormat.Exif Case "image/x-wmf" GetImageType = System.Drawing.Imaging.ImageFormat.Wmf Case Else GetImageType = System.Drawing.Imaging.ImageFormat.MemoryBmp End Select End Function Private Sub GetThumbNail(ByVal strFileName, ByVal iWidth, ByVal iheight, ByVal strContentType, _ ByVal blnGetFromFile, ByVal ImgStream) Dim oImg As Image If blnGetFromFile Then oImg = oImg.FromFile(strFileName) Else oImg = oImg.FromStream(ImgStream) End If oImg = oImg.GetThumbnailImage(iWidth, iheight, Nothing, (New IntPtr()).Zero) Dim strGuid As String = (New Guid()).NewGuid().ToString().ToUpper() Dim strFileExt As String = strFileName.Substring(strFileName.LastIndexOf(".")) '保存到本地 'oImg.Save(Server.MapPath("images") + "/" + strGuid + strFileExt, GetImageType(strContentType)) '直接输出url文件 'Response.Redirect("images/" + strGuid + strFileExt) '以下显示在屏幕上 Response.ContentType = strContentType Dim MemStream As New MemoryStream() ' 注意:这里如果直接用 oImg.Save(Response.OutputStream, GetImageType(strContentType)) ' 对不同的格式可能会出错,比如Png格式。 oImg.Save(MemStream, GetImageType(strContentType)) MemStream.WriteTo(Response.OutputStream) End SubEnd Class 
 



1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下 4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值