Проблема: «autoProcessQueue» было установлено в «ложь», потому что я хотел обрабатывать только когда пользователь нажимает кнопку «отправить».Даже если для параметра uploadMultiple не задано значение true, Dropzone будет загружать более одного файла (предположительно последовательно, а не одновременно), если очередь обрабатывается автоматически.
Решение: Dropzone.js вызывает «chunksUploaded» после загрузки всех фрагментов файла.После того, как первый файл успешно загрузит все свои чанки, установите для параметра autoProcessQueue значение true.После «queueComplete» установите значение «false» при подготовке к следующей загрузке.
См. Ответ здесь, чтобы понять обратный вызов chunksUploaded, в контексте использования его для объединения фрагментов после загрузки: Как объединить фрагментированные загрузки файлов из Dropzone.js с помощью PHP?
См. Конец этой цепочки для включения / выключения autoProcessQueue: https://github.com/enyo/dropzone/issues/462
Пример фрагмента JavaScript:
(я убрал все опции Dropzone и Ajax, чтобы выделить соответствующие части)
var myDropzone = new Dropzone(target, {
chunksUploaded: function(file, done) {
// ajax below posts to a script that merges the uploaded chunks of the current file
$.ajax({
success: function (data) {
myDropzone.options.autoProcessQueue = true;
done();
}
});
}
});
myDropzone.on("queuecomplete", function() {
myDropzone.options.autoProcessQueue = false;
});