方法里包括了图片大小限制、图片尺寸、文件内容等等的判断。。。
该案例是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, 0, 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的大小!"); } }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持小牛知识库!
我在SO和其他tuts中看了很多帖子,但我无法得到任何最新的官方或其他帖子,其中不包含任何关于使用排球上传多个图片的不推荐代码。我了解了Apache HTTP客户端删除和新android M中的相关内容,所以更喜欢使用下面的内容。
本文向大家介绍c#图片上传和显示的实现方法,包括了c#图片上传和显示的实现方法的使用技巧和注意事项,需要的朋友参考一下 由于需要图片上传的功能,所以花了一些时间网上找相关资料终于搞定,效果图如下: 下面的是解决方案截图和上传的图片截图: 具体实现代码如下: 1.界面代码 2.后台代码UploadPic.aspx.cs 3.最后防止上传大文件图片时报错,配置文件添加配置Web.config 以上就是
本文向大家介绍C#使用Socket上传并保存图片的方法,包括了C#使用Socket上传并保存图片的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#使用Socket上传并保存图片的方法。分享给大家供大家参考。具分析如下: 使用string filename = openFile.FileName;即返回带全路径的文件名 Path.GetFileNameWithoutExtension
本文向大家介绍C#实现图片上传与浏览切换的方法,包括了C#实现图片上传与浏览切换的方法的使用技巧和注意事项,需要的朋友参考一下 本文以一个完整实例讲述了C#实现图片上传与浏览切换的方法,对于进行C#程序设计来说具有一定的借鉴价值。分享给大家供大家参考。 具体实现代码如下: 希望本文实例对大家的C#程序设计有所帮助。
上传证件照片。支持 jpeg、jpg、bmp、png 格式,图片大小不超过2M。 // $path string 图片路径 $response = $app->media->upload($path);
本文向大家介绍Angular下H5上传图片的方法(可多张上传),包括了Angular下H5上传图片的方法(可多张上传)的使用技巧和注意事项,需要的朋友参考一下 最近做的项目中用到了angular下上传图片功能,在做的过程中遇到了许多问题,最终都得以解决 angular上传时和普通上传时过程差不多,只不过是要不一些东西转化为angular的东西。 1.ng-file-select,指令angular