js将网络图片转base64
时间: 2023-09-10 20:10:14 浏览: 92
可以使用以下代码将网络图片转换为 base64:
```javascript
function getImageAsBase64(url) {
return new Promise((resolve, reject) => {
const img = new Image();
img.crossOrigin = "Anonymous";
img.onload = () => {
const canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0);
const dataURL = canvas.toDataURL('image/png');
resolve(dataURL);
};
img.onerror = reject;
img.src = url;
});
}
// 使用示例
const imageUrl = 'https://example.com/image.jpg';
getImageAsBase64(imageUrl)
.then(base64 => {
console.log(base64);
})
.catch(error => {
console.error(error);
});
```
上述代码通过创建一个图片对象,设置其crossOrigin属性为"Anonymous"以允许跨域请求,并在图片加载完成后使用canvas将图片绘制到画布上,并将画布内容转换为base64格式的数据URL。
阅读全文