0

私はそのようなファイルオブジェクトにファイルを保存する入力タイプのファイルを持っています

var uploadControl = document.getElementById("fileUpload");
var files = uploadControl.files[0];

次に、そのファイルをローカル ストレージに保存して、後で FileReader オブジェクトに読み込みます。これが可能かどうかは誰にもわかります。いくつかの異なるオプションを試しましたが、ローカル ストレージからオブジェクトを取得しようとするたびに、未定義です。

ここに私が試したいくつかのことがあります

var setObj = {"prop": "myProp", "file": files};
chrome.storage.sync.set({"myObj":setObj});

これはエラーをスローしませんが、オブジェクトを取得しようとすると未定義です

chrome.storage.sync.get("myObj", function(item) {
console.log("item name: " + item.myObj.file.name);
});

ただし、オブジェクトの他のプロパティにアクセスできます

chrome.storage.sync.get("myObj", function(item) {
    console.log("item prop: " + item.myObj.prop);
    });

オブジェクトをローカルストレージに追加するときに何か間違ったことをしていますか、それとも間違ってアクセスしていますか? それとも、これを行うことは不可能ですか?

4

1 に答える 1

3

localStorage文字列の名前と値のペアのみを含めることができます。つまり、オブジェクトを直接保存することはできません。そのためにstringifyparseを使用できます。

于 2013-03-12T18:29:26.430 に答える