plupload removeFiles
Solution 1
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!
Solution 2
When there is no upload progress and you want to remove all queued files from uploader list:
var queueLength = uploader.files.length;
for (i = 0; i < queueLength; i++) {
if (uploader.files[0] && uploader.files[0] !== undefined) {
uploader.removeFile(uploader.files[0]);
}
}
Note: If you try to remove files by index, some files are left in the list; because every time a file item is removed from the list, it is refreshed and indexes are resorted.
Solution 3
You need to pass the id of the file you want to remove to removeFile:
uploader.removeFile(files[i].id)
Solution 4
You can use callback "QueueChanged", it works for me as well.
uploader.bind('QueueChanged', function(up){
var file_count = up.files.length;
for(i = 0; i < file_count; i++) {
if(i != (file_count - 1)) up.removeFile(up.files[i]);
}
});
stackuser10210
Updated on June 13, 2022Comments
-
stackuser10210 about 2 years
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.
-
Yaroslav over 11 yearsconsider adding some comments to your solution and formatting the code, it will make it more understable for the OP and future visitors
-
stackuser10210 almost 11 years*Hi. Thanks. I think I probably found a fix way back. To clear up, I think you do pass the file object rather than the ID. Works for me at least in the current plupload release. I'm not sure yours is the best answer - I don't think I was using jQuery, but it's good enough for me.
-
Json over 7 yearsThis was the only method that worked for me, unfortunately I spent a lot of time with this and came to the same conclusion before I saw this answer..