我尝试使用单个 ZIP 文件下载多个图像,但得到的结果相反。这是下载 zip 文件,但它们位于单独的 zip 文件中。 当我控制台记录
urls[]
数组时,它们出现在不同的数组中。
const fileURLs = window.URL.createObjectURL(result);// that is blob
var zip = new JSZip();
var count = 0;
var zipFilename = "Selective.zip";
var urls = [ // i try to make them array
fileURLs
];
console.log(urls);
urls.forEach(function(url){
var filename = result.name;
// 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++;
zip.generateAsync({type:'blob'}).then(function(content) {
saveAs(content, zipFilename);
});
});
});
您需要等待所有 blob 写入 zip。
if(count === urls.length) {
zip.generateAsync({type:'blob'}).then(function(content) {
saveAs(content, zipFilename);
});
}