【问题标题】:Unlimited Offline Storage无限离线存储
【发布时间】:2019-05-29 19:05:07
【问题描述】:

我们的项目需要存储大约 200Gb 的图像以供离线使用!

我正在使用 Workbox 制作 PWA,然后将其 URL 设置为“Chrome App Builder”的homepage 参数

然后这个 Chrome 应用程序将设置为在Kiosk mode 中运行。

项目要求是整个信息亭及其所有内容应该能够离线工作,这意味着它需要存储大约 200Gb 的图像。

根据我的研究,PWA 似乎不可能存储超过 6% 的可用磁盘空间(在 chrome 上)。 我确信这对于我们的用例来说还不够。

虽然Chrome Apps 具有名为unlimitedStorage 的权限,但我不确定这是否可行!显然,我混淆了概念!

大家有什么建议吗?

【问题讨论】:

    标签: google-chrome-app progressive-web-apps workbox


    【解决方案1】:

    请参阅https://developers.google.com/web/updates/2016/06/persistent-storage 以获取有关请求持久存储的指导。这并不能免除您的整体配额限制,但它会降低您的源存储在设备空间不足时自动清除的可能性。

    我强烈建议您研究另一种图像格式是否最终允许您在更小的整体空间中存储相同数量的图像。例如,如果您知道您将在 Chrome 上使用,那么肯定会支持 WebP。将您的图像转换为 WebP(或以其他方式对其进行优化)听起来像是一个重要的步骤。

    【讨论】:

    • 谢谢@Jeff。我非常感谢您的回复。肯定会研究持久存储。
    【解决方案2】:

    根据我们的经验,unlimitedStorage 不适用于 web 视图(这是 Chrome App Builder 使用的)。

    我们遇到了同样的问题,我们通过在 Chrome 应用程序中下载和存储资产并在 Chrome 应用程序和 Webview 之间建立通信来绕过它。 我们使用myWebView.contentWindow.postMessage,它与 HTML5 postMessage API 相同,在需要时发送文件的 blob 版本并接收要下载的 URL:

    Webview --URL to download--> Chrome App
    
    Webview <--BLOB file-- Chrome App
    

    小心:您将受到设备内存量的限制(因为您需要将文件加载到内存中才能在 ChromeApp 和 Webview 之间发送)

    【讨论】:

    • 不错!我最终使用chrome.socket api 在应用程序内添加了一个网络服务器并拦截webview.request 然后重定向到本地服务器。然后本地服务器可以从文件系统加载图像!!
    • 你能不能也看看这个问题? stackoverflow.com/questions/56434246/…
    • 这是一个非常有趣的想法,我会研究一下!你在建什么?我也会看看你的其他问题
    猜你喜欢
    • 2012-10-24
    • 2011-04-02
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 2021-11-25
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多