// 把图片链接转化成base64
const convertimg2base64 = (img) => {
const canvasEl = document.createElement('canvas');
canvasEl.width = img.width;
canvasEl.height = img.height;
const ctx = canvasEl.getContext('2d');
ctx.drawImage(img, 0, 0, img.width, img.height);
const imgsuffix = img.src
.match(/\.[^\\.]+$/)[0]
.substring(1)
.toLowerCase();
return canvasEl.toDataURL(`image/${imgsuffix}`);
};
const tobase64 = (link, callback) => {
const img = new Image();
img.src = link;
img.crossOrigin = 'anonymous';
img.addEventListener('load', () => {
const imgbase64 = convertimg2base64(img);
callback(imgbase64);
});
};
使用:
detail?.avatar = 'https://img2.baidu.com/it/u=3791594086,1804445139&fm=253&fmt=auto&app=138&f=JPEG?w=658&h=494'
let detail['imgbase64'] = '';
tobase64(detail?.avatar, (base64data) => {
detail['imgbase64'] = base64data;
});
网友评论