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只能包含字符串名称/值对,这意味着您不能直接存储对象。您可以使用字符串化解析

于 2013-03-12T18:29:26.430 回答