smallimg.aspx.cs

来自「asp.net专家200问(含源代码解决法案」· CS 代码 · 共 119 行

CS
119
字号
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;

namespace CommonFunction
{
	/// <summary>
	/// smallImg 的摘要说明。
	/// </summary>
	public class smallImg : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Label Label1;
		protected System.Web.UI.WebControls.Label Label2;
		protected System.Web.UI.WebControls.Label Label3;
		protected System.Web.UI.WebControls.Button btnUp;
		protected System.Web.UI.WebControls.Image imageSource;
		protected System.Web.UI.WebControls.Image imageSmall;
		protected System.Web.UI.HtmlControls.HtmlInputFile upImage;
	
		//定义image类的对象
		System.Drawing.Image image,newimage;
		//图片路径
		protected string imagePath;
		//图片类型
		protected string imageType;
		//图片名称
		protected string imageName;
		//提供一个回调方法,用于确定Image对象在执行生成缩略图操作时何时提前取消执行
		//如果此方法确定 GetThumbnailImage 方法应提前停止执行,则返回 true;否则返回 false
		System.Drawing.Image.GetThumbnailImageAbort callb = null;

		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.btnUp.Click += new System.EventHandler(this.btnUp_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void btnUp_Click(object sender, System.EventArgs e)
		{
			string mPath;

			if("" != upImage.PostedFile.FileName)
			{
				imagePath= upImage.PostedFile.FileName;
				//取得图片类型
				imageType= imagePath.Substring(imagePath.LastIndexOf(".")+1);
				//取得图片名称
				imageName = imagePath.Substring(imagePath.LastIndexOf("\\")+1);
				//判断是否是JPG或者GIF图片,这里只是举个例子,并不一定必须是这两种图片
				if("jpg" != imageType && "gif" != imageType)
				{
					Response.Write("<script language='javascript'> alert('对不起!请您选择jpg或者gif格式的图片!');</script>");
					return;
				}
				else
				{
					try
					{
						//建立虚拟路径
						mPath=Server.MapPath("upFile");
						//保存到虚拟路径
						upImage.PostedFile.SaveAs(mPath+"\\"+imageName);
						//显示原图
						imageSource.ImageUrl = "upFile/"+imageName;
						//为上传的图片建立引用
						image=System.Drawing.Image.FromFile(mPath+"\\"+imageName);			
						//生成缩略图
						newimage=image.GetThumbnailImage(100,100,callb,new System.IntPtr());
						//把缩略图保存到指定的虚拟路径
						newimage.Save(Server.MapPath("upFile")+"\\small"+imageName);
						//释放image对象占用的资源
						image.Dispose();
						//释放newimage对象的资源
						newimage.Dispose();
						//显示缩略图
						imageSmall.ImageUrl = "upFile/"+"small"+imageName;

						Response.Write("上传成功!");
					}
					catch
					{
						Response.Write("上传成功!");
					}
					
				}
			}
			
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?