我的代码在Chrome和Firefox中有效,但在IE中却无效。它通过链接将存储在mysql数据库中的文件作为blob记录下载。
有人可以提出一个也适用于IE的解决方案吗?
代码:
function download(filename, data) {
var a = document.createElement("a");
var blob = b64toBlob(data, "application/octet-stream");
url = window.URL.createObjectURL(blob);
a.href = url;
a.download = filename;
a.click();
document.getElementById('a').click();
window.URL.revokeObjectURL(url);
}
答案 0 :(得分:4)
在IE 8和9中,数据URI只能用于图像,但不能用于导航或JavaScript生成的文件下载:
功能下载(文件名,数据){
var a = document.createElement("a");
var blob = b64toBlob(data, "application/octet-stream");
url = window.URL.createObjectURL(blob);
a.href = url;
a.download = filename;
a.click();
navigator.msSaveBlob(blob, filename);
//document.getElementById('a').onclick();
window.URL.revokeObjectURL(url);
}