2017-07-19 85 views
0

我沒有得到如何正確使用jsZip .. 我想從本地文件夾中獲取文件,然後壓縮它,最後保存壓縮文件在相同的文件夾...保存zip文件夾中的jszip

但我真的沒有對如何使用它

這裏我做了什麼好comprension:

 JSZipUtils.getBinaryContent("http://localhost:8100/pdf/test.pdf", function (err, data) { 
     if(err) { 
      alert('err'); 
      throw err; 
     } 
     else{ 
     zip.file("test.pdf",data,{binary:true}) 
     .then(function (blob) { 
      saveAs(blob, "pdf.zip"); 
     }); 
     } 
    }); 

可以anibody幫助我嗎?

回答

0

下面這段代碼是我最後工作的東西。

注意,這是jszip utils版本3.它需要filesaver.js來使saveAs調用工作(https://github.com/eligrey/FileSaver.js)。

這裏是我的代碼:

function create_zip(){ 
    // get checked file urls 
    var urls = Array(); 
    $("input:checked").each(function() { 
     urls.push($(this).siblings('a').attr('href')); 
    }) 
console.log(urls); 

    var zip = new JSZip(); 
    var count = 0; 
    var zipFilename = "archive.zip"; 

    urls.forEach(function(url){ 
     var filename = url.substr(url.lastIndexOf("/")+1); 
console.log(filename); 
     // loading a file and add it in a zip file 
     JSZipUtils.getBinaryContent(url, function (err, data) { 
     if(err) { 
      throw err; // or handle the error 
     } 
     zip.file(filename, data, {binary:true}); 
     count++; 

     if (count == urls.length) { 
      zip.generateAsync({type:'blob'}).then(function(content) { 
       saveAs(content, zipFilename); 
      }); 
     } 
     }); 
    }); 
}; 

這是從這裏的信息調整:https://gist.github.com/noelvo/4502eea719f83270c8e9

希望它能幫助!

相關問題