上传图片按比例压缩

来源:互联网 发布:linux ide有哪些 编辑:程序博客网 时间:2024/05/01 22:08

    protected void Button1_Click(object sender, EventArgs e)
    {
        //定义bool变量
        bool Fileisvalid = false;
        //判断上传了文件,并判断是否合乎要求
        if (this.FileUpload1.HasFile)
        {
            //获取文件后缀名
            string FileExtension = System.IO.Path.GetExtension(this.FileUpload1.FileName).ToLower();
            //列出限制格式
            string[] RestrictExtension ={ "jpg", "bmp", "gif", "png" };
            //检测上传的图片格式
            for (int i = 0; i < FileExtension.Length; i++)
            {
                if (FileExtension == RestrictExtension[i])
                {
                    Fileisvalid = true;
                }              
            }
            if (Fileisvalid == true)
            {
                try
                {
                    //定义最小宽度
                    int Min_Width = 200;
                    //显示图片1
                    this.Image1.ImageUrl = "~/images/" + FileUpload1.FileName;
                    //获取服务器的路径
                    string PathServer = Server.MapPath("~/images/" + FileUpload1.FileName);
                    //略缩的路径
                    this.FileUpload1.SaveAs(PathServer);
                    this.Label1.Text = this.FileUpload1.PostedFile.ContentLength + "字节";

                    //实例化img1
                    System.Drawing.Image img1 = System.Drawing.Image.FromFile(PathServer);
                    //按比例缩放高度
                    int Min_Height = Min_Width * img1.Height / img1.Width;
                    //生成按参数的图像
                    System.Drawing.Image img2 = img1.GetThumbnailImage(Min_Width, Min_Height, null, new System.IntPtr());
                    //新保存路径
                    string PathServer2 = Server.MapPath("~/images/" + "min_" + FileUpload1.FileName);
                    //保存到相应的路径
                    img2.Save(PathServer2, System.Drawing.Imaging.ImageFormat.Png);

                    Image3.ImageUrl = "~/images/" + "min_" + FileUpload1.FileName;
                    //释放资源
                    img1.Dispose();
                    img2.Dispose();
                }
                catch
                {
                    Response.Redirect("../Error.aspx");
                }
            }
            else
            {
                Label1.Text = "确认图片格式为jpg,gif,bmp,png格式."; 
            }
        }
      
    }

 

*因为技术不高,这个写了相当的久,逃了四节课才完成,呵呵。

原创粉丝点击