Javascript для создания zip-файла

У меня есть ионное приложение, в котором мне нужно создать zip некоторых файлов на устройстве и отправить их на сервер узла.

Я пытаюсь использовать JSZip [http://stuk.github.io/jszip/] для создать zip файлов на устройстве. У меня есть полный путь к каждому из файлов, которые отправляются функции в массиве filesList.

 // complete path of all the files that need to be zipped is in filesList array
    // Eg., file:///var/mobile/Containers/Data/Application/BACCA40A-56C4-4BE5-8C5D-1576960BD14B/Library/NoCloud/1473447800255.zip
      var zipFiles = function(filesList) {
                var uniqueFilename = Date.now();
                var zip = new JSZip();
                // create a zip with a unique name
                var zipFolder = zip.folder(uniqueFilename);
                //add files to the zip
                filesList.forEach(function(file) {
                   zipFolder.file(file);    
                })
var promise = null;
            if (JSZip.support.uint8array) {
              promise = zipFolder.generateAsync({type : "uint8array"});
              return promise;
            } else {
              promise = zipFolder.generateAsync({type : "string"});
              return promise;
            } 

       }   

затем в вызывающей функции

myAPI.zipFiles(docList)
               .then(function(result) {
                   console.log('Zip created '+JSON.stringify(result)); 
               .catch(function(error) {
                 console.log('Error while creating zip '+error);
               });

Я хотел бы создать zip в памяти (не нужно сохранять его на устройстве) и отправить его на node.

Приведенный выше код приводит к пустому почтовому индексу, хотя массив filesList содержит 5 файлов, и путь к этим файлам также действителен.

В документации сказано, что данные, возвращаемые методом generateAsync, имеют вид Uint8Array. Нужно ли мне что-то делать, чтобы преобразовать это в почтовый индекс?


person kayasa    schedule 09.09.2016    source источник
comment
Возможный дубликат Simple JSZip — создание Zip-файла из существующих изображений   -  person maurycy    schedule 09.09.2016
comment
Я сделал то, что говорится в другом сообщении - zipFolder.file(file); но это не помогает. Я думаю, что способ создания zip-файла в обоих этих случаях отличается. В другом примере извлекается один файл и добавляется в zip. В моем коде я сначала создаю zip-файл, а затем добавляю в него несколько файлов.   -  person kayasa    schedule 10.09.2016