Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

plupload removeFiles

I'm trying to remove files with not allowed extensions on the FilesAdded event. (I can't use the filter parameter as I need an exclusive list).

I have some code a bit like this:

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

I need to remove the files added if the extensions aren't valid. I've tried the following:

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

The FilesRemoved event is fired, but removed files still get uploaded with uploader.start().

I don't know if this is a bug in the program, or too obscure to expect an easy answer to, but if anyone can help, I'd be really grateful. I don't think I'm missing anything obvious.

Thanks.

like image 274
stackuser10210 Avatar asked Aug 16 '26 14:08

stackuser10210


1 Answers

A few things...

1st you have to bind the filesAdded event after calling the init() function.

uploader.init();

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

2nd you can filter the files extension using the prop filters when defining plupload

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

3rd here's a working sample to remove files from plupload

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

Cheers!

like image 58
André Pedroso Avatar answered Aug 18 '26 04:08

André Pedroso