indexeddb - 导入和导出 Indexeddb 数据

标签 indexeddb

我有一个 Epub 注释插件,用户可以在其中对 Epub 进行注释,但是注释文本存储在浏览器中的 indexeddb 数据库中,想将这些注释文本导出到文件中,而在其他系统中,我想将这些文件导入到我的 indexeddb 数据库中.

我该怎么做,任何人都可以提出任何想法以及一些 URL、示例、代码。

最佳答案

您可以从 IndexedDB 数据库中获取任何内容作为 JavaScript 对象。然后你可以使用 JSON.stringify 把它变成一个 JSON 字符串。然后,您可以使用 data URIs 将其转换为可下载的文件。我在我的一个项目中做了这样的事情;你可以看到 git diff here

对于导入,您只需接受一个 JSON 文件,对其进行解析,然后将其添加到数据库中。

您的应用程序可能不会遇到此问题,但我只是为了完整性而将其写在这里...数据 URI 仅在数据量很小(大约 < 1 MB,尽管它取决于浏览器)时才能合理地执行。 Downloadify 在处理大量数据时表现更好,但我仍然遇到超过 ~5MB 数据的问题。我仍然不确定对于比这更大的文件有什么好的解决方案。

关于indexeddb - 导入和导出 Indexeddb 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17783719/

相关文章:

javascript - 为什么在声明事件处理程序之前发出indexDB请求?

sqlite - 从 Linux bash 解析 FB-Purity 的 Firefox idb(索引数据库 API)object_data blob

javascript - 在 IE 10 中使用复合键创建索引时出现 DataError

indexeddb - 你如何让 indexeddb 事务保持活跃?

javascript - 如何在另一个声明文件中引用 lib.dom.d.ts 中的类型?

indexeddb - 从 PouchDB 中删除文档与在用户注销或关闭应用程序时保留它们

javascript - 在 Firefox 中打开 IndexedDB 时出现 InvalidStateError

google-chrome - IndexedDB 删除的对象从未从 Chrome 上的磁盘中删除

javascript - IndexedDB : restrictions? 中的无效键路径

Firefox,只能看到50行indexeddb数据