javascript - plupload removeFiles

标签 javascript upload plupload

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

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

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){

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

uploader.splice(i,1)
uploader.removeFile(files[i]);
uploader.refresh();

FilesRemoved 事件已触发,但删除的文件仍会通过 uploader.start() 上传。

我不知道这是否是程序中的一个错误,或者太晦涩难懂以至于无法得到简单的答案,但如果有人能提供帮助,我将不胜感激。我认为没有遗漏任何明显的东西。

谢谢。

最佳答案

一些事情...

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

uploader.init();

uploader.bind('FilesAdded', function (up, files) {...}

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

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

第三个是从 plupload 中删除文件的工作示例

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

干杯!

关于javascript - plupload removeFiles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8842136/

相关文章:

Plupload .csv 问题

jquery - Plupload 和错误生成

Plupload,直接在实例上打开对话框

javascript - angularjs ui-grid 将列高度更改为自动会导致奇怪的行显示在其他列上

javascript - 在浏览器控制台中导入或需要任何库

arrays - 尝试在 NodeJS 中使用 Jimp (Express) 从 Multer 上传多个图像时出现问题

node.js - 如何从react native上传图片到nodejs?

javascript - 渲染中的条件语句

javascript - 如何从嵌入标签访问#document 的 dom 元素?

php - 从 Android 上传大文件(大于 10MB)到 PHP 服务器