Папка загрузки Javascript, архивируемая с той же структурой, что и загруженная папка - PullRequest
0 голосов
/ 24 июня 2019

Как заархивировать выбранную папку при загрузке на стороне клиента, используя JavaScript.У меня есть кнопка «Выгрузить папку», она откроет окно выбора папки, после выбора папки я хочу сжать папку с такой же структурой папок и загрузить на внутренний сервер.


По исследованию: Найденный ниже метод для создания Zip, я могу создать Zip для всех файлов в папке, даже если файлы находятся в подпапке, это создает Zip для всех файлов в одной папке.

Но яхочу заархивировать в той же структуре папок.

Ниже приведен мой код и использованная ссылка на библиотеку:

Щелкните по ссылке: JSFidler

https://stuk.github.io/jszip/

https://www.npmjs.com/package/jszip

Метод Javascript выглядит следующим образом:

          <-- HTML !-->
          <input id="uploadID" type="file" accept=".zip" webkitdirectory> 

          //Javascript
          uploadfolder(e){
            var zip = new JSZip();
            var fileslist = event.target.files;
            var files = zip.folder();
            for(let i=0; i<fileslist.length; i++){
                console.log(fileslist[i].name);
                files.file(fileslist[i].name, fileslist[i].raw, {base64: true});
            }
            zip.generateAsync({type:"blob"}).then(function(content) {
                saveAs(content, "example.zip");
            });
           },

1 Ответ

1 голос
/ 24 июня 2019
...