plupload removeFiles

sta*_*210 2 javascript upload plupload

我正在尝试删除FilesAdded事件中具有不允许扩展名的文件.(我不能使用filter参数,因为我需要一个独占列表).

我有一些代码有点像这样:

uploader.bind('FilesAdded', function(up, files) {
    var count = files.length;
    var i = 0;
    for (i;i<count;i++) {
        var validExt = validate(files[i].name);
        if(!validExt){
Run Code Online (Sandbox Code Playgroud)

如果扩展名无效,我需要删除添加的文件.我尝试过以下方法:

uploader.splice(i,1)
uploader.removeFile(files[i]);
uploader.refresh();
Run Code Online (Sandbox Code Playgroud)

FilesRemoved事件被触发,但删除的文件仍然使用uploader.start()上传.

我不知道这是程序中的错误,还是太过模糊,不能期待一个简单的答案,但如果有人可以提供帮助,我会非常感激.我不认为我错过任何明显的东西.

谢谢.

小智 5

一些东西...

首先,您必须在调用init()函数后绑定filesAdded事件.

uploader.init();

uploader.bind('FilesAdded', function (up, files) {...}
Run Code Online (Sandbox Code Playgroud)

第二,您可以在定义plupload时使用prop过滤器过滤文件扩展名

uploader = new plupload.Uploader({
        ...,
        filters: [
            { title: "Image files", extensions: "jpeg,jpg,gif,png" }
        ],
        ...
    });
Run Code Online (Sandbox Code Playgroud)

这里的第3个是从plupload中删除文件的工作示例

$.each(uploader.files, function (i, file) {
    if (file && file.id != currentFile.id) {
        uploader.removeFile(file);
    }
});
Run Code Online (Sandbox Code Playgroud)

干杯!