功能需求:需要将两张图片和一些文字生成一张图片,图片为阿里云oss图片,已做允许跨域
一开始使用dom-to-image,pc端和ios都没问题,但在安卓上会报错: Error: Failed to execute 'toDataURL' on 'HTMLCanvasElement'......
找了好久也没有解决这个问题,关键就是'toDataURL'无法使用,但确实没有跨域问题,不然pc和ios也无法使用
github上看到的类似问题 链接
github上有人提出用toSvg方法,因为这个方法的实现没有用到 'toDataURL',试了一下确实能转成svg, 但把生成的svg转成image还是会有问题,最终放弃使用 dom-to-image,html-to-image也有同样的问题
解决方案:使用 html2Canvas www.npmjs.com/package/htm…,生成canvas后调用canvas.toDataURL("image/png")方法转成base64,完美解决