Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported 设置crossOrigin无效

发布时间 2023-04-19 10:46:49作者: 进军的蜗牛

最近在使用图片导出base64 的时候遇到下面的报错

我的代码如下

let myImage = new Image();
myImage.src =imgSrcData;
myImage.crossOrigin = 'Anonymous';

网上查阅资料,都说 给图片设置 crossOrigin 值为 Anonymous 就可以了,我这么设置,但是依然不行,后来才发现,设置这个crossOrigin的时机是有要求的

设置crossOrigin 必须在图片加之前设置, 同样如果是视频的话, 也得在视频加载之前设置,这样就没问题了,代码就调整下顺序

let myImage = new Image();
myImage.crossOrigin = 'Anonymous';
myImage.src =imgSrcData;