1

案例 1: 我试图访问现有文件夹进行 zip 操作,但无法生成它。我已尝试使用以下代码压缩现有文件夹。

var zip = new JSZip();
zip.folder("../Download/Themes");
zip.generate();

示例:我有一个文件夹(主题),其中包含我想在我的应用程序中压缩的文件。

  • 文件夹 - 主题
    • 文件 - css1
    • 文件-css2

是否可以从现有文件夹生成 zip 文件?

案例 2: 生成 zip 文件后,我可以从应用程序中的物理路径获取 zip 文件吗?

提前致谢...

4

2 回答 2

1

我认为您需要根据 JSZip 文档手动将文件及其内容添加到您的 JSZip 实例中。因此,如果要将现有文件夹添加到 zip 文件中,则需要遍历文件夹并添加每个文件,如下所示:

zip.file(filename, content);

在您的情况下,您应该按如下方式创建它:

zip.file("Themes/css1",fs.readFileSync('css1'));
zip.file("Themes/css2",fs.readFileSync('css2'));
var content = zip.generate({type:"nodebuffer"});
fs.writeFile("Themes.zip", content, function(err) {
  if (err) throw err;
});

zip.folder("sub") 只创建或切换到您的zip实例的子文件夹,您应该自己放置内容然后保存到物理文件夹。

于 2014-11-21T02:25:30.487 回答
0

在jquery中使用get函数

var zip = new JSZip();
jQuery.get('Themes/css1.css', function(data) {

        zip.add("Themes/css1.css",data);
        var content = zip.generate({type:"nodebuffer"});
     
        zip.add("hello1.html", bt);
	   content = zip.generate();
	   location.href="data:application/zip;base64," + content;
        
}, 'text');

于 2017-08-22T05:05:37.180 回答