Canvas 从视频创建的视频在保存时引发 "Tainted canvases may not be exported." 错误
Canvas that created from video raising "Tainted canvases may not be exported." error when saving
我正在使用 this example 从 HTML5 视频创建快照。视频托管在第三方服务器上,我无法控制。
所以我想保存图像,但是 toDataURL
由于安全原因失败了。
这是错误:Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
我想图像有解决方案。 img.crossOrigin = "Anonymous"
类似的东西。 Here and here.
我尝试了 videoDomElm.crossOrigin = "Anonymous"
,但没有成功。
视频有解决办法吗?
提前致谢。
crossOrigin='anonymous'
只是通过 cross-domain 安全要求的一半解决方案。如果 headers 允许 cross-origin 访问内容,它会导致浏览器读取响应 headers 而不会污染 canvas。
解决方案的另一半是将服务器配置为在其响应 headers 中发送正确的 cross-origin 权限。如果服务器没有被配置为允许 cross-origin 访问,canvas 仍然会被污染。
满足 cross-origin 安全性的唯一方法是:
让视频源自与您的网页相同的域。
将视频服务器配置为在其 headers 中发送适当的 cross-origin 访问权限。
没有解决方法 -- 您必须满足安全限制。
我正在使用 this example 从 HTML5 视频创建快照。视频托管在第三方服务器上,我无法控制。
所以我想保存图像,但是 toDataURL
由于安全原因失败了。
这是错误:Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
我想图像有解决方案。 img.crossOrigin = "Anonymous"
类似的东西。 Here and here.
我尝试了 videoDomElm.crossOrigin = "Anonymous"
,但没有成功。
视频有解决办法吗?
提前致谢。
crossOrigin='anonymous'
只是通过 cross-domain 安全要求的一半解决方案。如果 headers 允许 cross-origin 访问内容,它会导致浏览器读取响应 headers 而不会污染 canvas。
解决方案的另一半是将服务器配置为在其响应 headers 中发送正确的 cross-origin 权限。如果服务器没有被配置为允许 cross-origin 访问,canvas 仍然会被污染。
满足 cross-origin 安全性的唯一方法是:
让视频源自与您的网页相同的域。
将视频服务器配置为在其 headers 中发送适当的 cross-origin 访问权限。
没有解决方法 -- 您必须满足安全限制。