用canvas的toDataURL()跨域访问图片报错问题

报错如下

outword.js:164 Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
at Image.i.onload (http://xxx/js/app.26a33659.js:1:880813)

需要排查三方

1. 服务器支持跨域,添加 Access-Control-Allow-Origin:* 或 Access-Control-Allow-Origin:具体请求端地址如(http://xxx.xx.xxx.xxx:xxx)

2. 请求端设置跨域允许选项

        let image = new Image();
        img.crossOrigin="anonymous"; //关键 或  image.setAttribute("crossOrigin", '*');
        image.src = imgUrl;

3. 有些低版本浏览器不支持,如chrome需要升级到83(也有可能是82)及以上

posted @ 2024-11-21 10:52  博客园you  阅读(3)  评论(0编辑  收藏  举报