问题背景:需要从后台拉取图片并转成base64,方案是将图片绘制到canvas画布,调用画布的toDataURL方法得到图片的base64
代码如下:

image.png
运行后发生以下错误:

image.png
翻译过来大概是,执行toDataUrl失败,被污染的画布数据无法读出
原因:
画布上的图片数据可以来源很多地方,如果跨域加载图片,如果无法保证来源的安全性,会认为画布的数据认为是污染的,不安全的,无法从受污染的画布读出数据
解决方法:
给image设置跨域属性,告诉浏览器从不同origin加载图片资源

image.png