4

私のアプリでは、多くの大きな画像の操作と一時的な保存が必要です。これを効率的に管理するために、すべての画像への blob URL 参照を使用しています。

ただし、操作に続いて、キャンバスから取得した、新しいクライアント側で生成された画像用に新しい Blob URL を作成する必要があることは明らかです。

Firefox は完全に動作するネイティブCanvas.toBlob()をサポートしているため、次のようにこのブロブから新しいブロブ URL 参照を作成します。

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

すべてのブラウザで、次のポリフィルを使用しています。

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

bloburlconsole.log()変数を取得すると、次のようになります。

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