I am using bootstrap multiple file upload plugin to upload file. I am using the example that is on this link. Now I want to add another button "Cancel upload" besides the "Add files" button. On clicking the "Cancel upload" button the uploading process should be stopped. Please help me out to get around this issue. Thanks
Add cancel upload or abort functionality to bootstrap multiple file upload plugin
10.3k views Asked by Rahul Gupta At
2
There are 2 answers
4
On
I think you can find your answer in the document of the plugin from here , I post the code here:
var jqXHR = $('#fileupload').fileupload('send', {files: filesList})
.error(function (jqXHR, textStatus, errorThrown) {
if (errorThrown === 'abort') {
alert('File Upload has been canceled');
}
});
$('button.cancel').click(function (e) {
jqXHR.abort();
});
The code above means uploading files programmatically(mannually). In such a case, for the fileupload function, the second argument must be an object with an array (or array-like list) of File or Blob objects as files property. So you need to get the files array before you execute above code:
var filesList = $("#fileupload").get().files;
I'm not sure whether you need to convert FileList to array like below, but you can try:
var i,files = $("#fileupload").get().files,filesList=[];
for(i=0;i<files.length;i++){
filesList.push(files.item(i))
}
But be aware that there are limitations here: File is just supported with IE10+ and other modern browsers.
For more information, I list some articles here:
Finally, after extensive trials and errors and searching for relevant code solutions, I got it working exactly the way I wanted ! I posted my query on the plugin's github issue page and got the help from there.
Below is the code sample that really worked :
1.First you have to bind the fileuploadadd event:
2.Then you have to bind the cancel event that will be called when clicking the "Cancel Upload" button, which will cancel all the file currently being uploaded :