IE11下载base64图片

384 阅读1分钟

一开始采用创建a标签的形式 发现在ie里面只是打开另一个窗口显示 后来采用转成blob的形式,但是注意你的base64里面是否有/r/n这种,不然atob会报错

imgBase64 = imgBase64.replace(/\r|\n/g, "");
var bytes = window.atob(imgBase64);
var ab = new ArrayBuffer(bytes.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < bytes.length; i++) {
    ia[i] = bytes.charCodeAt(i);
}
var blob = new Blob([ab],{type:"jpg"});
try {
    window.navigator.msSaveBlob(blob, "screenshot.jpg")
} catch (e) {
    console.log(e);
}