描述:近期在H5項目中,通過html2canvas生成了一個base64的海報(圖片)。但是這個圖片怎麼下載到手機上呢。
代碼如下:
function downloadImage(base64Url) {
let imgUrl = base64Url;
if (window.navigator.msSaveOrOpenBlob) {//兼容IE瀏覽器的寫法
let imageStr = atob(imgUrl.split(",")[1]);
let n = imageStr.length;
let u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = imageStr.charCodeAt(n);
}
let blob = new Blob([u8arr]);
window.navigator.msSaveOrOpenBlob(blob, "chart-download" + "." + "png");
} else {//非IE瀏覽器
let a = document.createElement("a");
a.href = imgUrl;
a.setAttribute("download", "chart-download");
a.click();
}
}