将Javascript文件对象保存到本地存储
我有一个输入类型的文件,在这里我将文件保存到一个文件对象,如下所示将Javascript文件对象保存到本地存储,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我有一个输入类型的文件,在这里我将文件保存到一个文件对象,如下所示 var uploadControl = document.getElementById("fileUpload"); var files = uploadControl.files[0]; 然后,我想将该文件保存到本地存储,以便稍后读入FileReader对象。有人知道这是否可能吗。我尝试了几种不同的选项,每次尝试从本地存储中检索对象时,它都是未定义的 以下是我尝试过的一些东西 var setObj = {"prop": "m
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);
});
在将对象添加到本地存储时,我是否做错了什么,或者我是否错误地访问了它?或者这是不可能的?
localStorage
只能包含字符串名称/值对,这意味着您不能直接存储对象。为此,您可以使用和。localStorage
只能包含字符串名称/值对,这意味着您不能直接存储对象。您可以为此使用and。只需json序列化对象即可。:)我想我错过了本地存储文档中的键/值对部分。谢谢这解决了我的问题。实际上,这确实解决了我保存对象的问题,但一旦我解析它,我仍然无法读取它。我猜当对象转换为JSON时,文件路径信息会被删除。是否有人成功地保存了一个文件对象,然后使用FileReader接口读取它?只需json序列化该对象。:)我想我错过了本地存储文档中的键/值对部分。谢谢这解决了我的问题。实际上,这确实解决了我保存对象的问题,但一旦我解析它,我仍然无法读取它。我猜当对象转换为JSON时,文件路径信息会被删除。是否有人成功地保存了文件对象,然后使用FileReader界面读取它?