Извлеките файлы из zip и передайте загрузчику - PullRequest
0 голосов
/ 10 февраля 2019

Я использую JSZIP, и у меня есть настройки кода, чтобы я мог полностью увидеть архивированные файлы, однако я не уверен, как извлечь и отправить каждый файловый объект обратно в мой загрузчик

У меня естьпопытался выполнить цикл forEach с функцией для захвата zipEntry, затем с помощью Dropzone.addFile(zipEntry);, который работает, однако, когда dropzone получает объект, он пропускает все ключевые параметры, которые должен иметь объектный файл, например;имя, тип (mimetype) и т. д. Я попытался подделать эту информацию, используя zipEntry.(object parameter), однако файл (имя) до сих пор не получен, и этот список будет продолжать расти.

if (files.type === "application/zip"){
          var zip = new JSZip();
          zip.loadAsync( files /* = file blob */)
             .then(function(zip) {
               console.log(zip);
                 // process ZIP file content here
                 zip.forEach(function (relativePath, zipEntry) {  // 2) print entries
                    //zipEntry.type = "application/csv";
                    console.log(zipEntry);
                    console.log(zipEntry.type);
                    mediaDropzone.addFile(zipEntry);
                });
                 console.log(zip)
                 alert("OK")
             }, function() {alert("Not a valid zip file")});
        this.removeFile(files)
    }

Мой результат, который я ищу, состоит в том, чтобы передать zip-файл загрузчику (dropzone) загрузчик проверяет, является ли расширение (тип) ZIP-файлом, затем захватывает содержимое zip как объект файла и позволяет мне отправлять эти файлы обратно загрузчикузагружаться индивидуально с mediaDropzone.addFile(file);

...