JavaScript 将图片 URL 转为 base64 码
将图片 URL 转为 base64 的大前提是图片,图片链接与 JavaScript 运行在同一个域下,或者图片服务器允许跨域。对应 JavaScript 代码如下,供参考:
//传入图片路径,返回base64
function get_base64(imgUrl) {
return new Promise((resolve, reject) => {
let img = new Image();
img.src = imgUrl;
img.setAttribute("crossOrigin", "anonymous");
img.onload = function () {
let canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
let ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
let dataURL = canvas.toDataURL("image/png");
resolve(dataURL.replace(/^data:image/(png|jpg);base64,/, ""));
}
img.onerror = function () {
reject("The image could not be loaded.");
}
}
);
}
本代码采用的是 promise 需要在 async/await 语法下使用。
撰写评论