无限离线存储

时间:2019-05-29 19:05:08

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

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

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

然后,此Chrome应用将设置为在Kiosk mode下运行。

项目要求是整个自助服务亭及其所有内容都应能够脱机工作,这意味着它最多需要存储200 Gb的图像。

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

尽管Chrome Apps拥有名为unlimitedStorage的权限,但我不确定这是否可行!显然,我在混淆概念!

有人建议吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

根据我们的经验,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

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