Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我们可以在Chrome存储器中存储文件而不是字符串吗_Javascript_Google Chrome_Google Chrome Extension_Google Chrome App_Google Chrome Storage - Fatal编程技术网

Javascript 我们可以在Chrome存储器中存储文件而不是字符串吗

Javascript 我们可以在Chrome存储器中存储文件而不是字符串吗,javascript,google-chrome,google-chrome-extension,google-chrome-app,google-chrome-storage,Javascript,Google Chrome,Google Chrome Extension,Google Chrome App,Google Chrome Storage,我可以在页面上看到,我们可以在Chrome存储器中根据键存储字符串值。有没有办法在Chrome存储器中根据密钥存储文件 chrome.storage将数据存储为给定存储值的JSON字符串化。因此,是的,如果您将文件转换为可以转换为JSON的格式(例如,通过),则可以存储文件的内容。如果您试图存储在chrome.storage中的值无法转换为JSON,则无法存储该值(例如DOM元素)chrome.storage本质上并不关心数据代表什么,只关心它可以被JSON字符串化 如果你问,正如你在评论中所说

我可以在页面上看到,我们可以在Chrome存储器中根据键存储字符串值。有没有办法在Chrome存储器中根据密钥存储文件

chrome.storage
将数据存储为给定存储值的JSON字符串化。因此,是的,如果您将文件转换为可以转换为JSON的格式(例如,通过),则可以存储文件的内容。如果您试图存储在
chrome.storage
中的值无法转换为JSON,则无法存储该值(例如DOM元素)
chrome.storage
本质上并不关心数据代表什么,只关心它可以被JSON字符串化

如果你问,正如你在评论中所说的,在
chrome.storage
中存储数千个总计超过5GB的不同“文件”是不是一个好主意,那么答案是:“不!”


如果您正在寻找替代方案,那么Chrome storage中提供的一些替代方案遵循与localStorage API相同的标准,因此您应该查看这个问题,该问题已经得到了回答,谢谢链接。与Chrome存储相比,LocalStorage的空间有限。在Chrome存储器中根据密钥存储base64编码的文件字符串是一个好主意。文件数量将以千为单位,总空间量可能超过5 GB。您提到的上面的链接建议使用文件API,如果我上面的建议不是一个好主意,我相信这是正确的途径。文件API会快一个数量级,因为它不会将文件转换为字符串。但是在chrome存储中,我们可以通过设置属性“unlimitedStorage”来存储无限数据在chrome扩展的清单中,为什么您认为在chrome存储中有5GB的数据是个坏主意?你能解释一下吗?关于在Chrome存储中存储文件;我可以将它们存储为blob或bufferdata格式,而不是json格式;因此,我认为从chrome存储中获取blob并以某种方式再次将blob转换为文件应该是好的。如果这不是一个好主意,请告诉我?Chrome将转换为JSON,句号。你不必自己转换成JSON,它们只需要能够转换成JSON,因为Chrome会将它们转换成JSON。如果你真的对原因感兴趣,那应该是这样的,因为除了“性能”之外的任何答案都开始变得太长,无法给出注释。