Я использую плагин загрузки файла jQuery.
Я хотел бы иметь возможность инициировать событие, когда все выбранные файлы завершили загрузку. Пока у меня есть событие для выполнения действия, когда файл выбран для загрузки и когда каждый конкретный файл заканчивает загрузку - есть ли способ обнаружить, что все выбранные файлы закончили загрузку?
Фактическое приложение находится здесь http://repinzle-demo.herokuapp.com/upload
Мое поле ввода выглядит следующим образом:
<div id="fine-uploader-basic" class="btn btn-success" style="position: relative; overflow: hidden; direction: ltr;">
Мой script код выглядит следующим образом:
<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>
Я обрабатываю запрос контроллером Play Framework (Java), который выглядит следующим образом:
це
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);
}