ajaxFileupload 多文件上传

时间:2023-03-10 07:11:57
ajaxFileupload 多文件上传

ajaxFileupload 多文件上传

修改前的代码:

    var oldElement = jQuery('#' + fileElementId);
var newElement = jQuery(oldElement).clone();
jQuery(oldElement).attr('id', fileId);
jQuery(oldElement).before(newElement);
jQuery(oldElement).appendTo(form);

要实现多个文件上传,就改成下面的样子:

    if(typeof(fileElementId) == 'string'){
fileElementId = [fileElementId];
}
for(var i in fileElementId){
var oldElement = jQuery('#' + fileElementId[i]);
var newElement = jQuery(oldElement).clone();
jQuery(oldElement).attr('id', fileId);
jQuery(oldElement).before(newElement);
jQuery(oldElement).appendTo(form);
}

初始化的代码:

    $.ajaxFileUpload({
url:'/ajax.php',
fileElementId:['id1','id2']//原先是fileElementId:’id’ 只能上传一个
});

实例调用:

       var numArr = [];
var txt = $("#fileList").find("input:file"); //获取所有上传附件框
for (var i = 0; i < txt.length; i++) {
numArr.push(txt.eq(i).attr('id')); //将附件框的ID添加到数组中
} //提交表单
$.ajaxFileUpload
(
{
url: '/Selector/Upload', //用于文件上传的服务器端请求地址
type: 'post',
data: { ProjectId: 'lunis' }, //此参数非常严谨,写错一个引号都不行
secureuri: false, //一般设置为false
fileElementId: numArr,
dataType: 'json', //返回值类型 一般设置为json
success: function (data, status) //服务器成功响应处理函数
{ },
error: function (data, status, e)//服务器响应失败处理函数
{
alert(e);
}
}
)