我们正在构建一个 Web 应用程序,它使用 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 应用商店机制,但我认为我可能会成为相同任意限制的受害者。
所以,我的问题是:
谢谢,我会收集任何线索。
恐怕你不能。提供存储限制并要求用户允许更多空间是浏览器供应商的责任。所以我认为第一个选项不适用。
我知道用户可以允许网站超出给定限制(互联网选项 > 常规 > 浏览历史记录 > 设置 > 缓存和数据库),但我不知道这是否会否决 250MB。这可能是您无法超过的硬编码限制。
此限制与域绑定,这意味着您无法通过创建多个数据库来解决它。唯一的解决方案是存储在多个域上,但在这种情况下您无法交叉访问它们。据我所知,indexeddb API 和 File API 的组合限制为 250MB
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)