前端将图片URL转换base64格式预览,解决canva绘制图片资源跨域问题

背景

1、后台返回的图片是华为云上的图片资源URL地址,前端放在el-image标签上,可以正常预览,但是后续对图片进行操作,通过canvas绘制新图片,会报跨域,导致绘制的新图片空白。
2、后台无法将响应头:access-control-allow-origin 改为 *

function convertImageUrlToBase64(url) {
  return fetch(url)
    .then(response => response.blob())
    .then(blob => new Promise((resolve, reject) => {
      const reader = new FileReader();
      reader.onloadend = () => resolve(reader.result);
      reader.onerror = reject;
      reader.readAsDataURL(blob);
    }));
}

// 使用示例
const imageUrl = 'https://example.com/image.jpg';
convertImageUrlToBase64(imageUrl)
  .then(base64String => {
    console.log('Base64 image:', base64String);
    // 在页面上显示图片
    const imgElement = document.createElement('img');
    imgElement.src = base64String;
    document.body.appendChild(imgElement);
  })
  .catch(error => {
    console.error('Error converting image:', error);
  });

在图片上添加批注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值