解决canvas绘制oss图片的跨域问题

最近在做公司项目在线海报编辑的时候,tuDataUrl无法将图片转为图片进行预览,这个的原因网上有很多的解释以及解决办法,这里就不再细说。
但是按照网上的方法在前端js使用canvas绘制图片时添加crossOrigin=“Anonymous” ,画布canvas会在绘制oss上的图片时,报错has been blocked from loading by Cross-Origin Resource Sharing policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘’ is therefore not allowed access.

解决办法:

  • 首先在前端绘制图片的时候添加crossOrigin=“Anonymous” 。
  • 其次在阿里云的oss设置中配置允许跨域访问。
  • 做完这两步如果还是无法绘制图片的话,那就要检查oss是否开启CDN加速缓存,如果开启CDN加速缓存的关掉CDN,或者在CDN的设置里配置缓存头Access-Control-Allow-Origin的值为“*”,这样不出意外canvas就可以绘制图片了。(我遇到的问题就是oss开启了允许跨域访问,但是oss还设置的cdn加速,并且cdn还未设置缓存头,存在跨域问题,导致图片无法在画布上绘制)。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值