aspnet.mvc <input type="file" name="files" multiple="multiple" /> 多图片上传

问题描述

html<inputtype="file"name="files"multiple="multiple"/>实现多图片上传,为什么只能接到一个图片,在后台(mvc)中如何接收<p><label>请选择一个图像文件:</label><inputtype="file"multiple="multiple"id="demo_input"name="f[]"/></p><divid="demo_result"></div><scripttype="text/javascript">varresult=document.getElementById("demo_result");varinput=document.getElementById("demo_input");if(typeofFileReader==='undefined'){result.innerHTML="<pclass='warn'>抱歉,你的浏览器不支持FileReader</p>";input.setAttribute('disabled','disabled');}else{input.addEventListener('change',readFile,false);}functionreadFile(){for(vari=0;i<this.files.length;i++){varfile=this.files[i];if(!/image/w+/.test(file.type)){alert("请确保文件为图像类型");returnfalse;}varreader=newFileReader();reader.readAsDataURL(file);reader.onload=function(e){result.innerHTML+='<imgstyle="width:100px;height:100px"src="'+this.result+'"alt=""/>';document.getElementById("h").value+=this.result+'|';}}};</script>

解决方案

解决方案二:
IList<System.Web.HttpPostedFileBase>fileList=Request.Files.GetMultiple("文件名称");foreach(System.Web.HttpPostedFileBasefileinfileList){file.SaveAs();}
解决方案三:
引用1楼xiaoguidangjiajia的回复:

IList<System.Web.HttpPostedFileBase>fileList=Request.Files.GetMultiple("文件名称");foreach(System.Web.HttpPostedFileBasefileinfileList){file.SaveAs();}

问题是传了三次图,fileList的count还是1
解决方案四:
引用1楼xiaoguidangjiajia的回复:

IList<System.Web.HttpPostedFileBase>fileList=Request.Files.GetMultiple("文件名称");foreach(System.Web.HttpPostedFileBasefileinfileList){file.SaveAs();}

不明白你这个传了3次是什么意思Request.Files.GetMultiple这个方法获取文件,界面代码应该有多个file控件。就类似这样<div><inputtype='file'name='flie'><inputtype='file'name='flie'><inputtype='file'name='flie'></div>
解决方案五:
调试一下看看为什么传3次
解决方案六:
input控件的name属性很有意思,你那个file名字起的也很有意思,研究下吧。
解决方案七:
javascript跟你的c#、java都不一样。当你在for循环中定义一个varreader=.....

的时候,实际上相当于你在readFile函数的第一行代码那里定义varreader;

也就说,在javascript中并不存在代码块局部定义的reader变量。因此如果你调试reader,你会发现它“乱了、冲突了、唯一了”。实际上是你不了解javascript语言,同时你也没有在这个地方认真进行断点调试。
解决方案八:
要想让代码块局部定义reader,你可以把相关代码放到另外一个函数中,这样函数中的局部变量就能相互隔离了。
解决方案九:
另外,在javascript中也不要胡乱使用“this”。当程序作用域进入一个回调子函数的时候,this往往并不是在回调函数之外(之前)的this。javascript中的this不像c#或者java那样严谨。javascript并不是一个真正的面向对象编程语言,它只是一个“动态语言”。它的this是随便可以改变的,在调用任何函数的时候都可以由调用者随便改变。于是当你注册一个回调给某个方法,而这个方法又调用了其它方法,其它方法又调用了其它方法,最后回调你的函数时,你的函数中的this可能根本不是你原来以为的this了。在javascript中要注意不要在子函数中再用this,而是应该在子函数作为参数注册给任何函数之前先定义局部变量(例如经常定义一个self、me为名的新变量),然后在子函数内使用这个新的自定义变量。不要滥用this。javascript不是一个合格的面向对象编程语言,不要用规范来看待它。

时间: 2025-01-20 09:10:27

aspnet.mvc &amp;lt;input type=&amp;quot;file&amp;quot; name=&amp;quot;files&amp;quot; multiple=&amp;quot;multiple&amp;quot; /&amp;gt; 多图片上传的相关文章

ASP.NET MVC 4.0 CKEditor jquery 文章管理 图片上传 解决方案

文章修改,新增业务的C#代码 [HttpPost] [ValidateInput(false)] public ActionResult AddNew(FormCollection values) { var db = new ddrDBEntities(); XinWen obj = new XinWen(); if (!string.IsNullOrEmpty(Request["id"])) { var id = Guid.Parse(Request["id"]

求助:summernote+spring mvc图片上传报错

问题描述 求助:summernote+spring mvc图片上传报错 先是controller代码: @ResponseBody @RequestMapping("/sumimg.do") public Result upload(HttpServletRequest request) { Result result = new Result(); // 转换为文件类型的request MultipartHttpServletRequest multipartRequest = (M

spring mvc-Spring mvc 图片上传,求代码

问题描述 Spring mvc 图片上传,求代码 Spring mvc 图片上传,public void savePhoto(InputStream inputStream) throws Exception 里面怎么写 解决方案 Spring Mvc 上传图片代码spring MVC 上传图片 DEMOspring mvc 上传图片---------------------- 解决方案二: @RequestMapping("saveAdvertFile.action") public

ajax-Bootstrap插件File Input图片上传报错?怎么解决

问题描述 Bootstrap插件File Input图片上传报错?怎么解决

ajax-html input type=&amp;amp;#39;file&amp;amp;#39; 我选择了文件 怎么把他传给后台

问题描述 html input type='file' 我选择了文件 怎么把他传给后台 我是选了之后按确定按钮图片说明 就相当于这种当我按了确定按钮时,用ajax提交到后台,(比如说我选的是图片)转为byte类型的传到后台 就像我 提这个问题的时候选照片的那个功能 解决方案 由于浏览器的安全性,前台好像无法获取文件的路径了,只能获取文件名.用submit提交吧 解决方案二: html自定义input type='file'样式 解决方案三: 你问题说的用ajax提交是把file表单作为请求参数提

ASP.NET MVC图片上传,预览,显示,编辑以及删除

问题描述 分享最新教程:<><><> 解决方案 解决方案二:感谢分享!解决方案三:精神无价解决方案四: 解决方案五:谢谢楼主分享!解决方案六:楼主好人---解决方案七:楼主精神可嘉解决方案八:收藏了,暂时还在控制台输出的世界里解决方案九:该回复于2015-12-31 23:42:24被版主删除解决方案十:MVP确实不一样啊..解决方案十一:谢谢楼主分享解决方案十二:该回复于2016-02-28 23:37:11被版主删除解决方案十三:马克一下~~~~解决方案十四: 解决

ASP.NET MVC图片上传前预览简单实现_实用技巧

本文实例为大家分享了图片上传前预览并获取图片文件名和图片字节大小的具体实现代码,供大家参考,具体内容如下 在控制器中创建一个Action: 在Views目录下对应的控制器名称下创建视图PreViewing: 上图中 标记1,引用jQuery类库.标记2,选择文件.标记3,预览图片.标记4,显示图片文件名和图片字节大小.标记5,是Javascript代码...... 本例预览: 以上就是本文的全部内容,希望对大家的学习有所帮助.

mvc-asp.net MVC怎么给图input type=file传过来的图片加水印

问题描述 asp.net MVC怎么给图input type=file传过来的图片加水印 解决方案 加水印后,在controller里面传到服务器里面保存 解决方案二: 这是controller的代码 public ActionResult AddNewsPic(string id) { if (Request.Files.Count > 0) { if (!string.IsNullOrEmpty(Request.Files[0].FileName)) { Stream fileDataStr

input(type=&amp;quot;file&amp;quot;)+Handler(一般处理程序)上传文件简单Demo

                最近两天在做本地图片上传和网络图片读取,刚开始从kindEditor里面拿了一个,但是框架的JS确实是比较多,所以领导大人又让前台妹子拿DIV画了一个静态页面.前前后后可真有时间...                 下面拿出核心代码来聊聊:             首先,页面上:               <form action="Handler1.ashx" method="post" enctype="mul