7

我们正在构建一个网络应用程序,它将大量文件存储为带有 indexedDB 的 blob。如果用户最大限度地使用我们的应用程序,我们可以在 indexeddb 中存储多达 15GB 的文件。

我们遇到了 IE10 的问题,我强烈怀疑这是配额问题。

成功保存一些文件后,新的调用store.put(data, key);将永远不会结束。

基本上,该函数将被调用,但不会调用成功事件或错误事件。

如果我查看 IE 10 的 IndexedDB 文件夹,我会看到一些看起来像临时文件(每个 512 kB)的东西被无限期地创建和删除。

查看“缓存和数据库”参数窗口时,我看到我网站的数据库已达到250 MB

进一步看,我发现这个博客条目http://msdnrss.thecoderblogs.com/2012/12/using-html5javascript-in-windows-store-apps-data-access-and-storage-mechanism-ii/顺便说一句Windows 应用商店应用程序的存储限制为 250 MB。

我没有使用任何 Windows Store 机制,但我想我可能会成为同样任意限制的受害者。

所以,我的问题是:

  • 有没有办法绕过这个限制?用户被要求允许超过 10 MB 的限制,但是当达到 250 MB 时,我没有看到用户弹出任何问题。

  • 有没有其他方法可以使用 IE10 存储超过 250 MB 的数据。

谢谢,我会采取任何线索。

4

1 回答 1

5

恐怕你不能。提供存储限制并要求用户允许更多空间是浏览器供应商的责任。所以我认为第一个选项不适用。

我知道用户可以允许网站超过给定限制(互联网选项 > 常规 > 浏览历史 > 设置 > 缓存和数据库),但我不知道这是否会超过 250MB。这可能是您不能超过的硬编码限制。

此限制绑定到一个域,这意味着您无法通过创建多个数据库来解决它。唯一的解决方案是存储在多个域上,但在这种情况下,您不能交叉访问它们。此外,正如我看到的 250MB 限制将用于 indexeddb API 和 File API 组合

于 2013-02-06T06:42:45.980 回答