5

画像ファイルを IndexedDB に保存しようとして問題が発生しました。ファイル オブジェクトを取得して、それを IndexedDB にプッシュしようとしましたが、エラーがスローされたようです。

DOM Exception: DATA_CLONE_ERR (25)

この (下の) ようなファイル オブジェクトを、indexedDB に格納して後日 indexedDB から取得できるものに変換するにはどうすればよいでしょうか?

attribute: 32
contentType: "image/png"
displayName: "image1"
displayType: "PNG File"
fileType:    ".png"
name:        "image1.png"
path:        "C:\pictures\image1.png"
4

5 に答える 5

6

IndexedDB は、Firefox と Chrome での BLOB の保存をサポートしています。画像を IndexedDB に保存するがあります。このコードは、最新バージョンの Chrome と Firefox で正常に動作します。それが役に立てば幸い。

于 2012-12-19T00:56:13.783 に答える
2

上記のキーと値のペアによって作成されるオブジェクトリテラルとは異なって見えるオブジェクトで何かが起こっている可能性があると思います。console.logオブジェクトが通過した後、オブジェクトがJSON.stringify意図したものと1対1で一致することを確認するために、オブジェクトをジンジすることをお勧めします。

IndexedDBは、HTML5構造化クローンアルゴリズムを使用してオブジェクトをオブジェクトストアにコピーします。仕様によると、ErrorオブジェクトとFunctionオブジェクトを複製してスローすることはできないDATA_CLONE_ERRため、考えられる説明としてそれを参照してください。

于 2012-05-15T00:45:57.473 に答える
2

また、Chrome (少なくともバージョン 23 まで) はまだ BLOB を IndexedDB に保存することをサポートしておらず、それらを直接保存しようとすると、説明したエラーがスローされることに注意してください。それまでの間、FileSystem API を使用する必要があります。

于 2012-09-05T04:02:41.087 に答える
1

このMozillaハックの記事が役立つはずです-http://hacks.mozilla.org/2012/02/storing-images-and-files-in-indexeddb/

于 2012-08-10T20:41:58.153 に答える
0

ydn-db APIを使用できます。

以下のリンクの「ファイルと Blob データの保存」セクションを参照してください。

http://dev.yathit.com/ydn-db/transaction.html

乾杯。

于 2013-12-09T19:47:32.063 に答える