Canvas.toBlob polyfill在Chrome中无法与createObjectURL一起使用

时间:2013-05-01 22:26:14

标签: javascript canvas

我的应用程序需要操作和临时存储许多大图像。为了有效地管理这个,我们使用blob URL引用所有图像。

然而,在操作之后,我们显然需要为从客户端生成的图像创建一个新的Blob URL,这是从画布中获取的。

Firefox支持原生Canvas.toBlob(),它完美无缺,然后我们从这个blob创建一个新的blob url引用,如下所示:

 var url = window.URL || window.webkitURL;
 var bloburl = url.createObjectURL(blob);

对于所有浏览器,我们使用以下polyfill:

https://github.com/blueimp/JavaScript-Canvas-to-Blob

这适用于IE和Opera但在Chrome上失败,其中返回以下javascript错误消息:

Uncaught Error: Syntax error, unrecognized expression: blob:http%3A//www.exampledomain.com/d4693a94-ebf9-4608-b721-1cee1a04fd00

当我console.log() bloburl变量时,我得到以下内容:

在Firefox / IE / Opera中:

blob:d4693a94-ebf9-4608-b721-1cee1a04fd00

在Chrome中:

blob:http%3A//www.exampledomain.com/d4693a94-ebf9-4608-b721-1cee1a04fd00

在创建此网址引用时似乎出现了问题,但我不知道如何修复它。

非常感谢任何帮助。

0 个答案:

没有答案