关于canvas的toDataURL报错问题

发布于 2022-09-03 08:28:54 字数 522 浏览 32 评论 0

图片描述

图片描述

图片描述

各位大神,请教大家一个问题。
如图,第一张图是我用canvas的toDataURL的方法,想把canvas上的缩略图保存下来,总是会有第二张图那样的报错,弄不清楚原因。
到了第三张图,我用同样的方法就是好的,可以正常显示的。

有谁知道原因吗?该怎么解决呢?烦请各位解答一下,感谢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

迷爱 2022-09-10 08:28:54

你一张图里_img使用的是不同域名的图片吧,这样drawImage到canvas, 就会有跨域问题,而第二张是同域
解决方案(需要图片服务器添加Access-Control-Allow-Origin: *,下面代码才行)

var image = new Image();
image.setAttribute('crossOrigin', 'anonymous');
image.src...

参考:

如何视而不见 2022-09-10 08:28:54

报错写的很清楚了:Uncaught SecurityError,就是说“捕获安全错误”,一般都是跨域问题引起的。浏览器认为,你的网站引用其它网站的内容是有风险的,具体可以看网上的博文,讲的很清楚的。

两相知 2022-09-10 08:28:54

这个是canvas出于安全考虑吧,所以要保存图片必须要在服务器环境(http://localhost/file.html),不然直接从文件夹打开是保存不了的,还有就是canvas引用的图片必须同域

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文