Добавить файлы в существующий zip-архив через JSZip

У меня есть zip-файл, который является проектом Visual Basic. Я пытаюсь понять, могу ли я добавить свое веб-приложение в качестве каталога внутри этого zip-архива, чтобы я мог легко экспортировать свои веб-приложения как собственные приложения для Windows.

Я попробовал метод Ajax из документации, и он отлично работал на моем жестком диск при загрузке в Firefox, но не звонит с моего веб-сайта!

$(document).ready(function() {
  $(".download").on("click", function() {
    JSZipUtils.getBinaryContent('YourWinApp.zip', function(err, data) {
      if(err) {
        throw err; // or handle err
      }

      var zip = new JSZip(data);
      zip.file("Hello.txt", "Hello World\n");
      var folder = zip.folder("images");
      folder.file("folder.txt", "I'm a file in a new folder");
      var content = zip.generate({type:"blob"});
      // see FileSaver.js
      saveAs(content, "example.zip");
    });

  });
});

person Michael Schwartz    schedule 26.02.2015    source источник
comment
Как вы его включаете? С файлом в папке jszip dist/?   -  person David Duponchel    schedule 26.02.2015
comment
require is not defined это ошибка. гы, может быть, require не определено в вашем проекте? Учебник, вероятно, использует RequireJS   -  person Secret    schedule 27.02.2015
comment
Я заставил его работать на моем жестком диске локально на моей машине, но не звонит на мой веб-сайт. Кто-нибудь может помочь?   -  person Michael Schwartz    schedule 27.02.2015


Ответы (1)


Я попробовал метод Ajax из документации, и он отлично сработал! (я не на тот файл дал ссылку, лол)

$(document).ready(function() {
  $(".download").on("click", function() {
    JSZipUtils.getBinaryContent('YourWindowsApp.zip', function(err, data) {
      if(err) {
        throw err; // or handle err
      }

      var zip = new JSZip(data);
      zip.file("Hello.txt", "Hello World\n");
      var folder = zip.folder("images");
      folder.file("folder.txt", "I'm a file in a new folder");
      var content = zip.generate({type:"blob"});
      // see FileSaver.js
      saveAs(content, "example.zip");
    });

  });
});
person Michael Schwartz    schedule 27.02.2015