【问题标题】:Store images for Chrome Packaged App为 Chrome 打包应用存储图像
【发布时间】:2015-02-18 04:34:52
【问题描述】:

我正在开发一个 chrome 打包的应用程序,我必须在其中下载千兆字节的图像并将其存储到本地持久存储中。有什么办法吗?我正在使用 IndexedDB 来保存其他数据。

【问题讨论】:

  • 您是否需要用户可以在应用程序之外访问这些文件?

标签: google-chrome-app


【解决方案1】:

首先,Chrome 应用的设计初衷不是为了在您的硬盘上存储千兆字节的数据。想想硬盘只有 16Gb 的 chromebook 用户。

但是,如果您仍想在应用程序中存储图像,则可以选择本地文件系统。至于我,我做了一个简单的 web 组件<img is="external-image">,它是这样的:

  1. 使用 md5/sha1 创建 URL 哈希
  2. 检查该文件是否已经下载到本地文件系统
  3. 如果已下载,则使用 FileEntry.toURL() 获取此 FileEntry 的 URL
  4. 否则,请使用带有 responseType = 'blob' 的 XHR 获取此文件并将此 blob 保存到本地文件系统中。回复URL.createObjectURL(blob);

示例实现是here。顺便说一句,detachedCallback 有助于完美地管理创建的 URI - 您可以在此回调中撤销它们,从而帮助您的应用清理内存。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 2014-11-13
    • 1970-01-01
    • 2013-07-28
    相关资源
    最近更新 更多