使用blueimp File-Upload避免重复文件

时间:2013-10-23 07:39:41

标签: javascript jquery jquery-ui file-upload struts2

如何避免在blueimp jquery文件上传中添加重复文件? 我试过这个解决方案:

$('#fileupload').bind('fileuploadadd', function(e,data) {

    var currentfiles = [];
    $(this).fileupload('option').filesContainer.children().each(function(){
        currentfiles.push($(this).data('data').files[0].name);
    });

    data.files = $.map(data.files, function(file,i){
        if ($.inArray(file.name,currentfiles) >= 0) { 
            alert("il file "+file.name+" è già presente nell'elenco.");
            return null; 
        }
        return file;
    });
    $('.fileupload-loading').hide();

});

但是当我尝试在上一次上传后添加新文件时,这会给我一个错误。

1 个答案:

答案 0 :(得分:4)

请尝试这个。它对我有用。

$('#fileupload').bind('fileuploadadd', function(e,data) {

    var currentfiles = [];
    $(this).fileupload('option').filesContainer.children().each(function(){
        currentfiles.push($.trim($('.name', this).text()));
    });

    data.files = $.map(data.files, function(file,i){
        if ($.inArray(file.name,currentfiles) >= 0) { 
            alert("il file "+file.name+" è già presente nell'elenco.");
            return null; 
        }
        return file;
    });
    $('.fileupload-loading').hide();

});