js 图片预加载显示跨域

图片预加载因同源策略会报跨域,所以在预加载是需要加crossOrigin = 'Anonymous'
如下

let imgUrl ="https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3363295869,2467511306&fm=26&gp=0.jpg"

// canvas 初始化调用图片预加载,预加载完成后拿到图片,之后渲染到canvas
this.startDownloadImg(imgUrl,(data)=>{
  console.log("加载成功")
})


methods: {
 startDownloadImg (imgUrl,callback) {
      let imageURL = imgUrl
      let downloadedImg = new Image()
      downloadedImg.crossOrigin = 'Anonymous'
      downloadedImg.src = imageURL
      downloadedImg.addEventListener('load', callback(downloadedImg), false)
    }  
}

如果还是跨域就看看阿里云的oss设置中配置允许跨域访问。

做完这两步如果还是无法绘制图片的话,那就要检查oss是否开启CDN加速缓存,如果开启CDN加速缓存的关掉CDN,或者在CDN的设置里配置缓存头Access-Control-Allow-Origin的值为“*”,这样不出意外就可以加载图片了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容