上传图片并生成图片缩略图

 

  1 None.gif using  System;
  2 None.gif using  System.Collections;
  3 None.gif using  System.ComponentModel;
  4 None.gif using  System.Data;
  5 None.gif using  System.Drawing;
  6 None.gif using  System.Web;
  7 None.gif using  System.Web.SessionState;
  8 None.gif using  System.Web.UI;
  9 None.gif using  System.Web.UI.WebControls;
 10 None.gif using  System.Web.UI.HtmlControls;
 11 None.gif
 12 None.gif namespace  MyTest
 13 ExpandedBlockStart.gifContractedBlock.gif dot.gif {
 14ExpandedSubBlockStart.gifContractedSubBlock.gif    /**//// <summary>
 15InBlock.gif    /// 生成图片缩略图 的摘要说明。
 16ExpandedSubBlockEnd.gif    /// </summary>

 17InBlock.gif    public class 生成图片缩略图 : System.Web.UI.Page
 18ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif{
 19InBlock.gif        protected System.Web.UI.HtmlControls.HtmlInputFile upImage;
 20InBlock.gif        protected System.Web.UI.WebControls.Button btnUp;
 21InBlock.gif        protected System.Web.UI.WebControls.Image imageSource;
 22InBlock.gif        protected System.Web.UI.WebControls.Image imageSmall;
 23InBlock.gif        //定义image类的对象
 24InBlock.gif        System.Drawing.Image image,newimage;
 25InBlock.gif        //图片路径
 26InBlock.gif        protected string imagePath;
 27InBlock.gif        //图片类型
 28InBlock.gif        protected string imageType;
 29InBlock.gif        //图片名称
 30InBlock.gif        protected string imageName;
 31InBlock.gif
 32InBlock.gif        //提供一个回调方法,用于确定Image对象在执行生成缩略图操作时何时提前取消执行
 33InBlock.gif        //如果此方法确定GetThumbnailImage方法应提前停止执行,则返回true;否则返回false
 34InBlock.gif        System.Drawing.Image.GetThumbnailImageAbort callb = null;
 35InBlock.gif    
 36InBlock.gif        private void Page_Load(object sender, System.EventArgs e)
 37ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
 38InBlock.gif            // 在此处放置用户代码以初始化页面
 39ExpandedSubBlockEnd.gif        }

 40InBlock.gif
 41ContractedSubBlock.gifExpandedSubBlockStart.gif        Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
 42InBlock.gif        override protected void OnInit(EventArgs e)
 43ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
 44InBlock.gif            //
 45InBlock.gif            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
 46InBlock.gif            //
 47InBlock.gif            InitializeComponent();
 48InBlock.gif            base.OnInit(e);
 49ExpandedSubBlockEnd.gif        }

 50InBlock.gif        
 51ExpandedSubBlockStart.gifContractedSubBlock.gif        /**//// <summary>
 52InBlock.gif        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
 53InBlock.gif        /// 此方法的内容。
 54ExpandedSubBlockEnd.gif        /// </summary>

 55InBlock.gif        private void InitializeComponent()
 56ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{    
 57InBlock.gif            this.btnUp.Click += new System.EventHandler(this.btnUp_Click);
 58InBlock.gif            this.Load += new System.EventHandler(this.Page_Load);
 59InBlock.gif
 60ExpandedSubBlockEnd.gif        }

 61ExpandedSubBlockEnd.gif        #endregion

 62InBlock.gif
 63InBlock.gif        //"上传并生成缩略图"按钮的单击事件
 64InBlock.gif        private void btnUp_Click(object sender, System.EventArgs e)
 65ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
 66InBlock.gif            string mPath;
 67InBlock.gif            if(this.upImage.PostedFile.FileName != "")
 68ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
 69InBlock.gif                imagePath = upImage.PostedFile.FileName;
 70InBlock.gif                imageType = imagePath.Substring(imagePath.LastIndexOf(".")+1);//取图片类型
 71InBlock.gif                imageName = imagePath.Substring(imagePath.LastIndexOf("\\")+1);//取图片名称
 72InBlock.gif
 73InBlock.gif                if(imageType!= "jpg" && imageType!="gif")
 74ExpandedSubBlockStart.gifContractedSubBlock.gif                dot.gif{
 75InBlock.gif                    Response.Write("<script>alert('对不起!请您选择JPG或者GIF格式的图片!')</script>");
 76InBlock.gif                    return;
 77ExpandedSubBlockEnd.gif                }

 78InBlock.gif                else
 79ExpandedSubBlockStart.gifContractedSubBlock.gif                dot.gif{
 80InBlock.gif                    try
 81ExpandedSubBlockStart.gifContractedSubBlock.gif                    dot.gif{
 82InBlock.gif                        //建立虚拟路径
 83InBlock.gif                        mPath = Server.MapPath("upFile");
 84InBlock.gif                        //保存到虚拟路径
 85InBlock.gif                        upImage.PostedFile.SaveAs(mPath+"\\"+imageName);
 86InBlock.gif                        //显示原图
 87InBlock.gif                        imageSource.ImageUrl = "upFile/"+imageName;
 88InBlock.gif                        //为上传的图片建立引用
 89InBlock.gif                        image = System.Drawing.Image.FromFile(mPath+"\\"+imageName);
 90InBlock.gif                        //生成缩略图 取原图的1/10高,宽。
 91InBlock.gif                        newimage = image.GetThumbnailImage(image.Width/10,image.Height/10,callb,new System.IntPtr());
 92InBlock.gif                        //把缩略图保存到指定的虚拟路径
 93InBlock.gif                        newimage.Save(Server.MapPath("upFile")+"\\small"+imageName);
 94InBlock.gif                        //释放image对象占用的资源
 95InBlock.gif                        image.Dispose();
 96InBlock.gif                        //释放newimage对象的资源
 97InBlock.gif                        newimage.Dispose();
 98InBlock.gif                        //显示缩略图
 99InBlock.gif                        imageSmall.ImageUrl="upFile/"+"small"+imageName;
100InBlock.gif                        Response.Write("上传成功!");
101ExpandedSubBlockEnd.gif                    }

102InBlock.gif                    catch
103ExpandedSubBlockStart.gifContractedSubBlock.gif                    dot.gif{
104InBlock.gif                        Response.Write("上传失败!");
105ExpandedSubBlockEnd.gif                    }

106ExpandedSubBlockEnd.gif                }

107ExpandedSubBlockEnd.gif            }

108ExpandedSubBlockEnd.gif        }

109InBlock.gif
110ExpandedSubBlockEnd.gif    }

111ExpandedBlockEnd.gif}

112 None.gif

转载于:https://www.cnblogs.com/Lewis/archive/2006/07/12/449094.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值