PLUpload删除FileAdded事件中的文件

时间:2014-02-25 20:18:23

标签: javascript plupload

我正在我的Files Added事件中进行一些文件类型检查,在某些条件下我希望从上传队列中删除文件。我很亲密,但并不完全。这是我的代码的相关部分:

        var uploader = $("#html5_uploader").pluploadQueue({
        // General settings
        runtimes : 'html5',
        url : '/valid/url',
        max_file_size : '5mb',
        unique_names : true,
        multi_selection : true, 

        init : {
    Init: function() {

    },
    FilesAdded: function(up, files) {
        plupload.each(files, function(file, i) {
        var id = file.id;
        var type = file.type;
        var checkType = type.match(/msdownload/g);
        if (checkType != null) {
            $('#' + id).find('.plupload_file_name span').empty().append('This file type is not allowed.');
            file.destroy();
            files = removeKey(files, i);
        } 
        });
        console.log(files);
        console.log(files.length);
        if (files.length>0) {
        // Start uploads immediately
        up.start();
        }
            },
        }

removeKey方法是我从另一个讨论中得到的东西,看起来像:

    function removeKey(arrayName,key) {
    var x;
    var tmpArray = new Array();
    for(x in arrayName) {
    if(x!=key) {
        tmpArray[x] = arrayName[x];
    }
    }
    return tmpArray;
}

如您所见,我希望我的文件立即上传到添加。

我收到以下错误:

Uncaught TypeError: Cannot read property 'size' of null 

可能因为我删除的文件的属性仍在尝试阅读。最终结果是“好”文件由于此错误而无法在“错误”后上传。我可能没有正确删除“坏”文件。感谢。

0 个答案:

没有答案