首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >plupload removeFiles

plupload removeFiles
EN

Stack Overflow用户
提问于 2012-01-12 20:53:59
回答 4查看 10.5K关注 0票数 2

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

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

代码语言:javascript
复制
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){

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

代码语言:javascript
复制
uploader.splice(i,1)
uploader.removeFile(files[i]);
uploader.refresh();

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

我不知道这是否是程序中的一个bug,或者是太模糊,无法期待一个简单的答案,但如果有人可以帮助,我会非常感激。我不认为我错过了任何显而易见的事情。

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-08-29 10:33:50

一些事情..。

第一,必须在调用init()函数后绑定filesAdded事件。

代码语言:javascript
复制
uploader.init();

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

第二,在定义plupload时,可以使用螺旋桨过滤器过滤文件扩展名。

代码语言:javascript
复制
uploader = new plupload.Uploader({
        ...,
        filters: [
            { title: "Image files", extensions: "jpeg,jpg,gif,png" }
        ],
        ...
    });

下面是一个从plupload中删除文件的工作示例

代码语言:javascript
复制
$.each(uploader.files, function (i, file) {
    if (file && file.id != currentFile.id) {
        uploader.removeFile(file);
    }
});

干杯!

票数 5
EN

Stack Overflow用户

发布于 2014-06-04 17:16:13

如果没有上载进度,并且希望从上载程序列表中删除所有排队的文件,请执行以下操作:

var queueLength = uploader.files.length;

对于(i = 0;i< queueLength;i++) {

if (uploader.files & uploader.files !==未定义){

uploader.removeFile(uploader.files);}

注意:如果尝试按索引删除文件,某些文件将留在列表中;因为每次从列表中移除文件项时,都会刷新文件项并调用索引。

票数 2
EN

Stack Overflow用户

发布于 2012-02-17 21:23:23

您需要将要删除的文件的id传递给removeFile:

uploader.removeFile(files[i].id)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8842136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档