C#上传图片判断尺寸和大小,并上传图片

这篇博客介绍了如何使用C#进行图片上传,并在上传前进行尺寸和大小的验证。通过FileUpload控件获取文件,检查文件大小是否超过1MB,以及图片宽度和高度是否小于500像素。如果满足条件,将图片保存到指定文件夹。同时,代码中包含了创建目标文件夹、检查文件格式及图片格式支持的细节。

1.页面添加upload.aspx:

文件上传:<asp:FileUpload ID="FileUpload1" name="idFile"  runat="server" onchange="document.getElementById('img1').src= window.URL.createObjectURL(document.getElementById('FileUpload1').files[0]);" />

图片展示:<asp:Image ID="img1" runat="server"  />

选择图片可自动展示出来

2.cs上传

if (FileUpload1.HasFile)
 {

         string fileName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString();//年月

        string ImgName = ImgUpload.FileName;
        string ImgExtention = System.IO.Path.GetExtension(ImgName);
        int ImgSize = ImgUpload.PostedFile.ContentLength;//此处取得的文件大小的单位是byte

 

         string FilePath = "/upload" + "/" + fileName; 
          if (System.IO.Directory.Exists(HttpContext.Current.Server.MapPath(FilePath)) == false)//如果不存在就创建文件夹
          {
                 System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(FilePath));
           }
        string FilePathnew = HttpContext.Current.Server.MapPath(FilePath);
        string Extension = Path.GetExtension(file.PostedFile.FileName).ToLower();

        if (Extension == ".jpg" || Extension == ".png" || Extension == ".gif")
        {

            //判断图片大小

            if (ImgSize / 1024 > 1024)//转换为kb
            {

                   ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('图片大小不能超过1M!');</script>");
           }

           //判断图片尺寸(宽和高)

           System.Drawing.Image upimage = System.Drawing.Image.FromStream(fuTx.PostedFile.InputStream);

           int width = upimage.Width;

           int height = upimage.Height;

           if (width < 500 || height > 500)

             {

                 ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('图片的宽和高不能小于500!');</script>");

             }

                 string NewFilePath = "/" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + Extension;
                   file.SaveAs(FilePathnew + NewFilePath);  //上传图片至文件夹
      }
      else
      {
           ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('图片格式不正确,只支持.gif/.jpg/.png格式类型的图片!');</script>");
      }

}

综合判断图片文件是否存在,是否重新创建,再判断文件格式是否正确,然后判断图片是否超过设置大小,最后判断了图片尺寸,以免图片上传模糊。有不完善的地方还望指出!

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值