4

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

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

Firefox 支持Canvas.toBlob()完美运行的 native,然后我们从这个 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,但在返回以下 javascript 错误消息的 Chrome 上失败:

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

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

任何帮助将不胜感激。

4

0 回答 0