formdata上传文件找不到|如何用FormData实现多文件上传

A. asp图片上传问题.谢谢了!

应该是在表单上传文件时你没有选择需要上传的文件就会出错。建议使用无组建上传。你应该在使用formdata=request.binaryread(formsize)前判断formsize是否大于0,如果大于0再进行上传处理。

B. 利用formdata实现文件上传 可是为什么获取到的form是空的

我这块主要是后台写的时候需要用到的html里面的input的name,所以我写的name需要和后台写的是一样的,才能获取到正确的数据插一句题外话, 前端要是看不懂后台的代码,太吃亏了。。。。

C. 如何用FormData实现多文件上传

可以用数组形式,我贴代码了html 部分<li class="list-group-item disabled select-file-div"><input type="file" multiple="true" class="input-sm clear-l-r-padding select-file" data-uploadtype="photo"/></li>js部分var i,data = new FormData();…for (i = 0; i < $('.select-file').files.length; i++) {data.append('file[]', this.files[i]);}…//省略代码若干…在选择完成后调用下面$.ajax$.ajax({url: 'url'type: "POST",data: data,dataType: 'json',processData: false,// *重要,确认为falsecontentType: false,beforeSend: function () {… },success: function (res) {console.log(res);},error: function (res) {…}});php 部分 接收数组$fileField='file';$name = $_FILES$fileField;$tmp_name = $_FILES[$fileField]['tmp_name'];$size = $_FILES[$fileField]['size'];$error = $_FILES[$fileField]['error'];/ 如果是多个文件上传则$file["name"]会是一个数组 /if(is_Array($name)){$errors=array();/多个文件上传则循环处理 , 这个循环只有检查上传文件的作用,并没有真正上传 /for($i = 0; $i < count($name); $i++){/设置文件信息 /if($this->setFiles($name[$i],$tmp_name[$i],$size[$i],$error[$i] )) {if(!$this->checkFileSize() || !$this->checkFileType()){$errors[] = $this->getError();$return=false; }}else{$errors[] = $this->getError();$return=false;}/ 如果有问题,则重新初使化属性 /if(!$return)$this->setFiles();}

D. webuploader 上传formData参数,Spring MVC 怎么去接收

webuploder有个参数sendAsBinary ,spring的话可以通过action的注解参数来获取上传的文件,jfinal可以用getFile()方法来获取.getParameter()方法获得。如果你想简单.getInputStream()即可获取文件的字节流。推荐你这么做,最简单的方式,可以以字节流的形式发送文件,将其设置为true,这样你java后端用request,文件名等参数你可以通过request和普通的上传请求一样,你可以使用commons-upload来解析请求

E. 你好,构造FormData 上传文件(用html5分块了的)用ajax提交数据(不用jquery),服务器端怎么读取数据啊

AJAX上传的是POST方式,记得加上multipart/form-data

F. 我用formdata进行ajax上传文件,第一次上传肯的是报错

般说,段错误指访问内存超系统所给程序内存空间通值由gdtr保存四吧位寄存器其三内二位保存由 指向 gdt表一三位容保存相应于gdt标三位包括程序否内存及程序cpu运行级别,指向gdt由陆四位单位表 张表保存着程序运行代码段及数据段起始址及与相应段限页面交换程序运行级别内存粒度等等信息旦程序发越界 访问cpu产相应异保护于segmentation fault现

G. on绑定的change去触发formData上传文件

首先,jq 是change事件,onchange是js的 其次,change事件是当你上传文件改变时触发,也就是 value 值改变时触发

H. 为什么在form中加了enctype="multipart/form-data"后, 后台还是取不到上传的file文件在线等高手解释

application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分,上传附件用到text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。enctype="multipart/form-data是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form- data,才能完整的传递文件数据,进行下面的操作.别人的一个例子:form中加入enctype="multipart/form-data"时整个表单被封装,字符将转成二进制流,因此request.getParameter("user_type")是得不到值的.给段实例做参考: SmartUpload su = new SmartUpload(); su.initialize(pageContext); su.upload(); String strzy=su.getRequest().getParameter("user_type");这样就行了

I. 使用一般处理程序获取不到上传文件了,为什么

form id="form1" name="form1"> <input type="file" name="fileToUpload" id="fileToUpload" multiple="multiple"/> <progress id="progressBar" value="0" max="100"></progress> <span id="percentage"></span> <input type="button" onclick="UpladFile()" value="Upload" /> </form> <script type="text/javascript"> $(document).ready(function () { $('#form1').submit(function () { var formdata = new FormData(); var fileObj = document.getElementById("fileToUpload2").files; for (var i = 0; i < fileObj.length; i++) formdata.append("file" + i, fileObj[i]); $.ajax({ type: 'POST', url: '/Home/Upload2', data: formdata, /** *必须false才会自动加上正确的Content-Type */ contentType: false, /** * 必须false才会避开jQuery对 formdata 的默认处理 * XMLHttpRequest会对 formdata 进行正确的处理 */ processData: false }).then(function () { alert('done'); }, function () { //failCal }); return false; }); }); function ajaxUpload() { $("#form1").submit(); } </script>

J. ajax怎样提交form表单与实现文件上传

Ajax 提交form方式可以来将form表单序列化源 然后将数据通过data提交至后台,例如:


赞 (0)