我目前正在使用jszip, jszip-utils, and FileSaver
压缩并下载多个PDF。
self.createZip = function () {
var docs = self.list.filteredItems();
var zip = new JSZip();
var count = 0;
var zipFilename = "zipFilename.zip";
docs.forEach(function (item) {
var filename = item.formDesc() + "_" + item.id() + ".pdf";
// loading a file and add it in a zip file
JSZipUtils.getBinaryContent('../career/document/StreamFile/?path=' + item.fileName(), function (err, data) {
if (err) {
throw err; // or handle the error
}
zip.file(filename, data, { binary: true });
count++;
if (count == docs.length) {
zip.generateAsync({ type: 'blob' }).then(function (content) {
try {
saveAs(content, zipFilename);
} catch (e) {
console.log(e);
}
});
}
});
});
该功能当前可用于除IE11之外的所有最新浏览器。在IE11中是获取所有文件,但在saveAs上挂起。
最佳答案
在SaveAs语句后尝试以下操作以清除缓冲区
content = null;
关于javascript - FileSaver saveAs在IE11中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46121069/