导入和导出 Indexeddb 数据

Mob*_*Dev 7 indexeddb

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

我该如何做到这一点,任何人都可以提出任何想法以及一些 URL、示例和代码吗?

dum*_*ter 6

您可以从 IndexedDB 数据库中以 JavaScript 对象的形式获取任何内容。然后您可以使用JSON.stringify它将其转换为 JSON 字符串。然后您可以使用数据 URI将其转换为可下载文件。我在我的一个项目中做了类似的事情;你可以在这里看到 git diff 。

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

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

  • 我编写了一个模块 [indexeddb-export-import](https://github.com/Polarizes/indexeddb-export-import),它有助于将 IndexedDB 导入到 JSON 或从 JSON 导出。 (7认同)