【发布时间】:2022-01-06 19:04:51
【问题描述】:
在我的 chrome 扩展程序中,我想将文件存储在浏览器中(来自后台脚本)而不是磁盘上,因为我想快速读取和擦除文件。使用 blob URL 的最佳解决方案是什么?如果是这样,我可以将多少数据存储为 blob URL?还是应该将文件内容存储在后台脚本的数组中?
【问题讨论】:
标签: javascript file google-chrome-extension blob
在我的 chrome 扩展程序中,我想将文件存储在浏览器中(来自后台脚本)而不是磁盘上,因为我想快速读取和擦除文件。使用 blob URL 的最佳解决方案是什么?如果是这样,我可以将多少数据存储为 blob URL?还是应该将文件内容存储在后台脚本的数组中?
【问题讨论】:
标签: javascript file google-chrome-extension blob
Blob 可能是最好的选择。它们就像文件一样——File() 构造函数从它继承属性。数组对于大型数据存储来说是内存和资源密集型的,但如果需要,Int8Array 或 Uint8Array 也可能会起作用。 TypedArrays 通常比常规数组快。 Blobs 的大小可以大于 128 MB(它因平台而异,从 128 MB 到 640 MB),这可能会满足大多数要求。但是,如果内存不可用,并且在其他极少数情况下,Blobs 将被写入磁盘。我不认为Blobs 是为大量写作而设计的。
【讨论】:
indexedDB 的问题在于它是磁盘访问每次你想读/写的时候,所以它会很慢。