BatsingJSLib 2.3、Ajax上传多个文件
1 //2.3Ajax上传单个或多个文件 2 //<input type="file" multiple="multiple"/> 3 //参数:文件的表单JDOM,要上传的地址URL,含参数的回调函数(参数传为ajax结果,如function(res){alert(res);}) 4 function ajaxFileUpload(inputFileJDOM, URL, callback) { 5 var formdata = new FormData(); 6 var fileObj = $(inputFileJDOM)[0].files; 7 //console.log( fileObj.length ); 8 for (var i = 0; i < fileObj.length; i++) { //可同时上传多个文件 9 formdata.append("file" + i, fileObj[i]); 10 $.ajax({ 11 type: 'POST', 12 url: URL, 13 data: formdata, 14 contentType: false, 15 //必须false才会自动加上正确的Content-Type 16 17 //必须false才会避开jQuery对 formdata 的默认处理 18 //XMLHttpRequest会对 formdata 进行正确的处理 19 processData: false, 20 success: function(res) { 21 //console.log(res); 22 callback && callback(res); //回调函数 23 } 24 }).then(function() { 25 //alert('done'); 26 }, 27 function() { 28 //failCall 29 }); 30 } 31 }
展望:以后加入“上传进度”功能;
鸣谢 http://www.open-open.com/lib/view/open1359361115273.html 提供参考!