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);
                }
            }
        )