html2canvas 跨域图片无法正常加载问题解决办法

//解决跨域图片无法加载问题,将远程图片转换为base64,图片直接赋值src即可,imgUrl为远程图片地址
function getBase64(imgUrl) {
window.URL = window.URL || window.webkitURL;
var xhr = new XMLHttpRequest();
xhr.open("get", imgUrl, true);
// 至关重要
xhr.responseType = "blob";
xhr.onload = function () {
if (this.status == 200) {
//得到一个blob对象
var blob = this.response;
console.log("blob", blob)
// 至关重要
let oFileReader = new FileReader();
oFileReader.onloadend = function (e) {
// 此处拿到的已经是 base64的图片了
let base64 = e.target.result;
$(".ewm").attr("src", base64);
};
oFileReader.readAsDataURL(blob);

}
}
xhr.send();
}

posted @ 2020-12-28 12:33  碎碎念岁岁恋  阅读(2026)  评论(0编辑  收藏  举报