0
我目前在使用jszip, jszip-utils, and FileSaver
來壓縮和下載幾個PDF文件。FileSaver saveAs無法在IE11中工作
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上掛起。
這是一個良好的開端,但你是不是在點張貼到#1有道理呢。首先,進行一些調試:代碼在瀏覽器版本之間停止工作的位置,這是filesaver的一個已知問題(你看他們的bug跟蹤器嗎?),有沒有任何控制檯錯誤可以用來做一些谷歌搜索,等等。?現在你所說的只是「我的代碼不起作用,現在是這樣,請爲我解決問題」,沒有任何跡象表明[你首先試圖找出可能是錯的,你自己](/ help /如何對問)。 –
邁克,我已經完成了所有這些,甚至添加了一個try塊,以捕獲任何錯誤,但沒有錯誤。我發現的所有類似問題都是針對IE11使用類型blob。就像我在帖子中說的那樣,它掛在SaveAs上,什麼都不做。所以,我在這裏發佈,看看是否有其他人遇到過這個問題。 – capiono
鑑於這種說法,我假設你google搜索了一些像「filesaverjs ie11」這樣的第一個命令,它爲我提供了https://stackoverflow.com/questions/39266801/saving-file-on-ie11-with-filesaver - 你請不要在您的帖子中提及這一點,而且您也不會提及其解決方案是否對您無效。如果確實如此:這個問題不需要發佈。如果沒有,這是人們需要了解的信息,因爲這會讓你的問題與已經在Stackoverflow中已經回答的問題(我可以通過搜索得到的結果幾次)完全不同。 –