Невозможно получить количество очередей в Dropzone - PullRequest
0 голосов
/ 25 октября 2019

Это моя реализация 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);
}
...