JSZip 3.0 的问题

issue with JSZip 3.0

我遇到 JSZip 3.0 错误。我正在编写用于创建和下载 zip 的代码,我正在使用 JSZip 库。

我创建 zip 的代码如下。

var zip = new JSZip();
var urls = ["image/Screenshot (11).png","image/Screenshot (10).png"];
var count = 0;
var zipFilename = "zipFilename.zip";
urls.forEach(function(url){
  var filename = "filename";
  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) {
       var zipFile = zip.generate({type: "blob"});
       saveAs(zipFile, zipFilename);
     }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.2.1/jszip.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip-utils/0.1.0/jszip-utils.js"></script>

我收到错误 Uncaught Error: Error: This method has been removed in JSZip 3.0, please check the upgrade guide. at XMLHttpRequest.xhr.onreadystatechange

当我研究这个错误时,我找到了一个答案 This 但我不明白如何以及在哪里可以使用它。

谁能帮我解决这个问题。

试试这个代码

<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.2.1/jszip.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip-utils/0.1.0/jszip-utils.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.min.js"></script>
<script type="text/javascript">
var zip = new JSZip();
var urls = ["logo.png","foot-logo.png"];
var count = 0;
var zipFilename = "zipFilename.zip";
urls.forEach(function(url){
  var filename = "filename";
  console.log(url);
  JSZipUtils.getBinaryContent(url, function (err, data) {

     if(err) {
        throw err; // or handle the error
     }
     zip.file(url, data, {binary:true});
     count++;
     if (count == urls.length) {
       zip.generateAsync({type:"blob"})
.then(function (blob) {
    saveAs(blob, zipFilename);
});
     }
  });
});
</script>
</head>
<body>
Javascript zip file
</body>
</html>