2014-09-05 64 views
0

案例1: 我试图访问zip操作的现有文件夹,但无法生成它。我已经尝试了下面的代码来压缩现有的文件夹。无法生成现有的zip文件夹(JSZip.js)

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

例子: 我有,我想在我的应用程序的zip文件的文件夹(主题)。

  • 文件夹 - 主题
    • 文件 - CSS1
    • 文件 - CSS2

是否有可能从现有的文件夹中生成的压缩文件?

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

在此先感谢...

回答

1

我想你需要手动根据JSZip文档文件及其内容添加到您的JSZip实例。所以,如果你想将现有的文件夹添加到压缩文件,你需要遍历的文件夹,并添加像这样每个文件:

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实例的子文件夹,您应该自己放置内容,然后保存到物理文件夹。

0

使用GET功能的jQuery

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); 
 
\t content = zip.generate(); 
 
\t location.href="data:application/zip;base64," + content; 
 
     
 
}, 'text');