Ich benutze das jQuery File Upload Plugin.jQuery Datei-Upload - wie zu erkennen, wenn alle Dateien hochgeladen haben
Ich möchte in der Lage sein, ein Ereignis auszulösen, wenn alle ausgewählten Dateien hochgeladen wurden. Bisher habe ich ein Ereignis, um eine Aktion auszuführen, wenn eine Datei zum Hochladen ausgewählt wurde und wenn jede bestimmte Datei hochgeladen wurde. Gibt es eine Möglichkeit festzustellen, dass alle ausgewählten Dateien hochgeladen wurden?
Die eigentliche App ist hier http://repinzle-demo.herokuapp.com/upload
Mein Eingabefeld sieht wie folgt aus:
<div id="fine-uploader-basic" class="btn btn-success" style="position: relative; overflow: hidden; direction: ltr;">
Mein Script-Code wie folgt aussieht:
<script>
$(function() {
$('#fileupload').fileupload({
dataType: 'json',
add: function (e, data) { // when files are selected this lists the files to be uploaded
$.each(data.files, function (index, file) {
$('<p/>').text("Uploading ... "+file.name).appendTo("#fileList");
});
data.submit();
},
done: function (e, data) { // when a file gets uploaded this lists the name
$.each(data.files, function (index, file) {
$('<p/>').text("Upload complete ..."+file.name).appendTo("#fileList");
});
}
});
});
</script>
ich mit einem Spiel die Anfrage am Umgang Framework (Java) -Controller, der wie folgt aussieht:
Publi
c static void doUpload(File[] files) throws IOException{
List<ImageToUpload> imagesdata = new ArrayList<ImageToUpload>();
//ImageToUpload has information about images that are going to be uploaded, name size etc.
for(int i=0;i<files.length;i++){
Upload upload = new Upload(files[i]);
upload.doit(); //uploads pictures to Amazon S3
Picture pic = new Picture(files[i].getName());
pic.save(); // saves metadata to a MongoDB instance
imagesdata.add(new ImageToUpload(files[i].getName()));
}
renderJSON(imagesdata);
}
Diese Frustration noch vorhanden ist 3 Jahre nach der ursprünglich gefragt. Alle Antworten, die ich gesehen habe, sprechen das Problem nicht vollständig an. Damit der Rückruf 'fileuploadstop' nur einmal nach dem Ende aller Uploads ausgelöst wird, müssen Sie die Option 'singleFileUploads: false' übergeben. Dies führt dazu, dass 1 XHR-Anforderung für alle Uploads verwendet wird und nur der Callback nur einmal ausgelöst wird. Andere Antworten: http://stackoverflow.com/questions/19025748/finish-of-multiple-file-upload http://stackoverflow.com/questions/18636845/refreshing-the-page-after-completing- uploads-in-jquery-multi-Datei-Uplaoder – BlueWater86
Lol. Ich habe die ganze Liste von Methoden ausprobiert, die nach dem asynchronen Upload fehlschlagen könnten. Ich dachte nicht, dass das Stop-Ereignis das Richtige wäre. Vielen Dank! –