使用toDataUrl()从画布中保存图像 - 解决污染画布错误的方法?

10 浏览
0 Comments

使用toDataUrl()从画布中保存图像 - 解决污染画布错误的方法?

我正在开发一个功能,用户可以上传视频,然后选择缩略图。它基于这个示例:http://jsfiddle.net/e98tffu6/556/。\n保存画布数据的代码 - 从toDataUrl()开始 - 在正常情况下可以工作。已经测试过了。我可以获取图像数据并通过AJAX发送到我的动作页面。\n但是我遇到了一个有关Canvas被污染的经典错误。类似于这样的错误:\n

\nUncaught SecurityError: Failed to execute \'toDataURL\' on\n \'HTMLCanvasElement\': tainted canvases may not be exported.\n

\n这是因为我的视频来自不同的域。我使用了CDN。\n我在http://example.com上,从http://videos.example.com加载视频 - 所以在这种特定情况下代码无法工作。\n我知道要使用JavaScript,我必须在我的源素材上设置一个名为crossOrigin = \"Anonymous\"的属性,无论是视频本身还是画布。在SO上有无数种关于这个问题的变体。我看过了它们所有,但我仍然无法弄清楚我在做什么。\n有人能否提供一个示例,在这种情况下toDataUrl()可以工作?\n提前感谢。

0