将本地文件添加到zip

时间:2018-04-05 10:34:40

标签: javascript zip jszip

我尝试将本地文件添加到zip中,因此当用户下载并解压缩时,他会获得一个包含.dll和config.json文件的文件夹:

 var zip = new JSZip();

    options.forEach(option => {
        zip.folder("REST." + option + ".Connector")
           .file("config.json", "//config for " + option)

           // I want this file to be from a local directory within my project
           // eg. {dir}\custom_rest_connector_repository\src\dlls\Connectors.RestConnector.dll
           .file('../dlls/Connectors.RestConnector.dll', null);
    });

    zip.generateAsync({type:"blob"}).then(function (blob) { 
        FileSaver.saveAs(blob, "REST_Connectors_" 
        + dateStr
        + ".zip");
    });

我阅读了JSZip文档,但无法找到一个示例或任何信息是否可以实际完成。 如果它不能,是否还有其他更强大的库支持此操作?

1 个答案:

答案 0 :(得分:0)

使用jszip-utils

找到我自己的问题的答案
JSZipUtils.getBinaryContent("../dlls/Connectors.RestConnector.dll", function (err, data) {
if(err) {
  throw err; // or handle the error
}
zip.file("../dlls/Connectors.RestConnector.dll", data, {binary:true});
});