C# 最齐全的上传图片方法

C# 最齐全的上传图片方法,第1张

概述方法里包括了图片大小限制、图片尺寸、文件内容等等的判断。。。该案例是mvc下的demo,支持单张图片上传。

方法里包括了图片大小限制、图片尺寸、文件内容等等的判断。。。

该案例是mvc下的demo,支持单张图片上传。

public ActionResult Upload()    {      string imgurl = "";      foreach (string key in Request.files)      {        //这里只测试上传第一张图片file[0]        httpPostedfileBase file0 = Request.files[key];        //转换成byte,读取图片MIME类型        Stream stream;        int size = file0.ContentLength / 1024; //文件大小KB        if (size > 1024)        {          return Content(ReturnMsg(Enum_Return.失败,"图片不能超过1M:",null));        }        byte[] fileByte = new byte[2];//contentLength,这里我们只读取文件长度的前两位用于判断就好了,这样速度比较快,剩下的也用不到。        stream = file0.inputStream;       stream.Read(fileByte,2);//contentLength,还是取前两位        //获取图片宽和高        //System.Drawing.Image image = System.Drawing.Image.FromStream(stream);        //int wIDth = image.WIDth;        //int height = image.Height;        string fileFlag = "";        if (fileByte != null && fileByte.Length > 0)//图片数据是否为空        {          fileFlag = fileByte[0].ToString()  fileByte[1].ToString();        }        string[] fileTypestr = { "255216","7173","6677","13780" };//对应的图片格式jpg,gif,bmp,png        if (fileTypestr.Contains(fileFlag))        {          string action = Request["action"];          string path = "/uploads/";          switch (action)          {            case "headimage":              path  = "headimage/";              break;            case "blogtype":              path  = "blogtype/";              break;          }          string fullpath = path  UserInfo.userID  "/";          if (!Directory.Exists(Server.MapPath(fullpath)))          {            Directory.CreateDirectory(Server.MapPath(fullpath));          }          Request.files[key].SaveAs(Server.MapPath(fullpath  Request.files[key].filename));          imgurl = fullpath  Request.files[key].filename;        }        else        {          return Content(ReturnMsg(Enum_Return.失败,"图片格式不正确:" fileFlag,null));        }        stream.Close();      }      return Content(ReturnMsg(Enum_Return.成功,"上传成功",imgurl));    }

一般处理程序

public voID ProcessRequest(httpContext context)  {    context.Response.ContentType = "application/Json";    httpPostedfile _upfile = context.Request.files["file"];    if (_upfile.ContentLength < 500000)    {      if (string.IsNullOrEmpty(_upfile.filename))      {         context.Response.Write("请上传图片");      }      string fileFullname = _upfile.filename;      string dataname = DateTime.Now.ToString("yyyyMMddhhmmss");      string filename = fileFullname.Substring(fileFullname.LastIndexOf("\")  1);      string type = fileFullname.Substring(fileFullname.LastIndexOf(".")  1);      if (type == "bmp" || type == "jpg" || type == "gif" || type == "JPG" || type == "BMP" || type == "GIF")      {        _upfile.SaveAs(httpContext.Current.Server.MapPath("photo")  "\"  dataname  "."  type);        httpcookie cookie = new httpcookie("photo");        context.Response.Write("上传成功");      }      else      {        context.Response.Write("支持格式:|jpg|gif|bmp|");      }    }    else    {      context.Response.Write("你的图片已经超过500K的大小!");    }  }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程小技巧!

总结

以上是内存溢出为你收集整理的C# 最齐全的上传图片方法全部内容,希望文章能够帮你解决C# 最齐全的上传图片方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1256538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存