Это моя реализация Dropzone:
Dropzone.options.dropzone = {
url:"@Url.Action("Update", "Excel")",
autoProcessQueue: false,
addRemoveLinks: true,
maxFiles:1,
acceptedFiles: ".xls,.xlsx",
uploadMultiple: true,
parallelUploads: 100,
init: function () {
var submitButton = document.querySelector("#submit");
var token = $('input[name="__RequestVerificationToken"]').val();
var wrapperThis = this;
submitButton.addEventListener("click", function (e) {
console.log(Dropzone);
if (this.files.length) {
console.log("not empty");
wrapperThis.processQueue();
} else {
wrapperThis.uploadFiles([{ name: 'nofiles' }]);
console.log("empty");
}
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
return false;
});
}
};
Я пытаюсь получить счетчик списка файлов в очереди, но он продолжает выдавать мне эту ошибку:
Uncaught TypeError: Невозможно прочитать свойство 'length' с неопределенным значением в HTMLButtonElement.
Когда я пытался записать, что такое переменная "this", я получаю ее от кнопки отправки, и она не имеетфункция getqueuedfiles.
Как я могу получить список файлов из очереди из моей зоны сброса?
РЕДАКТИРОВАТЬ:
Я изменил его для отправки чанков, но теперь он показывает эту ошибку:
Uncaught TypeError: Невозможно прочитать свойство 'defaultOptions' из неопределенного
Это код загрузки:
if (wrapperThis.getQueuedFiles.length>0) {
wrapperThis.processQueue();
} else {
var blob = new Blob();
blob.upload = { 'chunked': this.dropzone.defaultOptions.chunking };
this.dropzone.uploadFile(blob);
}