将图片 url 转成 base64:
重点!!!: 图片要用 require 导入为模块, 否则路径不对会无法加载
(webpack 默认会把小于 4kb 的图片转为 base64,但是这并不影响,嘿嘿)
export default img => {
return new Promise((resolve, reject) => {
var image = new Image(); //至关重要
image.onload = () => {
var canvas = document.createElement("canvas");
canvas.width = 100;
canvas.height = 100;
var ctx = canvas.getContext("2d");
ctx.drawImage(image, 0, 0, 100, 100);
var dataURL = canvas.toDataURL("image/jpeg");
resolve(dataURL);
};
image.onerror = err => {
console.log(err);
reject();
};
image.crossOrigin = "*";
image.src = img; //至关重要
});
};