//2.3Ajax上传单个或多个文件
//<input type="file" multiple="multiple"/>
//参数:文件的表单JDOM,要上传的地址URL,含参数的回调函数(参数传为ajax结果,如function(res){alert(res);})
function ajaxFileUpload(inputFileJDOM, URL, callback) {
var formdata = new FormData();
var fileObj = $(inputFileJDOM)[0].files;
//console.log( fileObj.length );
for (var i = 0; i < fileObj.length; i++) { //可同时上传多个文件
formdata.append("file" + i, fileObj[i]);
$.ajax({
type: 'POST',
url: URL,
data: formdata,
contentType: false,
//必须false才会自动加上正确的Content-Type //必须false才会避开jQuery对 formdata 的默认处理
//XMLHttpRequest会对 formdata 进行正确的处理
processData: false,
success: function(res) {
//console.log(res);
callback && callback(res); //回调函数
}
}).then(function() {
//alert('done');
},
function() {
//failCall
});
}
}
展望:以后加入“上传进度”功能;
鸣谢 http://www.open-open.com/lib/view/open1359361115273.html 提供参考!