Persistent native cache for CDN images and videos with local-only media sources. - Manage updates in realtime for your __CAPGO_KEEP_0__ app without store hassle, 5...

@capgo/capacitor-asset-cache

缓存CDN媒体到应用所有持久存储,并将图片或视频绑定到本地浏览器URL。

仅本地显示源

src, resolve,并 bind 在本地文件存在后返回源。您的img或video标签将接收到一个本地浏览器URL。

持久本地存储

缓存资源存储在应用所有的持久存储中,而不是系统可能在压力下清除的平台缓存文件夹。

保护CDN支持

将头信息传递给原生fetch,用于签名或认证的资源,同时web元素只加载本地文件。

框架友好的绑定

将原生缓存解析绑定到普通HTML、React refs、Vue refs或任何可以赋予img或video src的框架。

@capgo/capacitor-asset-cache 缓存大图像、视频和其他CDN资源到应用所有的持久存储,然后为web应用提供一个本地源URL进行显示。

正常路径是:

  1. 配置一个CDN基础URL一次,或者传递一个绝对URL每个资源。
  2. 调用 AssetCache.bind(element, path)AssetCache.src(path).
  3. 该插件原生地获取或重新验证远程资源。
  4. 元素仅在本地文件准备好后才接收到本地 webview URL。

在您的应用程序显示重大的远程媒体时使用 Asset Cache:这些媒体应该能够在正常存储压力下存活:

  • 入门或营销视频从 CDN 服务
  • 会话间重用的英雄图像、画廊或图像序列
  • 需要请求头的受保护媒体
  • 离线友好的屏幕,仅需之前获取的本地资源
  • Capacitor 应用程序,其中 <img> 并且 <video> 不应直接从受保护的 URL 中获取
  • configure(options) 设置默认 CDN 和重新验证行为。
  • bind(element, path, options?) 当本地文件准备好时更新图像或视频元素。
  • src(path, options?) 为框架状态返回本地源字符串。
  • resolve(path, options?) 返回本地源加缓存元数据。
  • get(options) 将远程 URL 解析为持久的本机文件元数据。
  • remove(options) 通过 key 或 URL 删除一个缓存的资产。
  • clear() 通过删除该插件管理的所有缓存资产来删除每个缓存的资产。
  • list() 返回仍然存在于磁盘上的缓存资产。
  • getCacheSize() 返回总缓存字节。
  • getPluginVersion() 返回本机实现版本标记。

重新验证模型

标题:重新验证模型

可以通过不同的方式检查缓存:每个资产或使用默认值。

策略行为
never当本地文件存在时使用本地文件。
ttl重新下载后 maxAgeSeconds.
always每次调用都重新验证并发送已知验证器。
etag当存在时使用已知的HTTP ETag验证器。
last-modified当存在时使用已知的HTTP Last-Modified验证器。

存储模型

存储模型部分

在iOS中,文件存储在Application Support下,缓存根目录排除在iCloud备份中。 在Android中,文件存储在应用内部文件目录下。

缓存隐藏在应用沙盒内,不可见于公共用户媒体。它在卸载应用、用户清除应用数据或您的应用调用时被删除。 clear()remove().

从@capgo/capacitor-asset-cache继续

从@capgo/capacitor-asset-cache继续部分

如果您正在使用 Capgo @capgo/capacitor-asset-cache 为了计划持久的媒体加载,连接它 开始 查看实现细节 Capgo @capgo/capacitor-downloader 为明确的后台下载 Capgo @capgo/capacitor-file 用于一般的本地文件访问 使用 Capgo @capgo/capacitor-asset-cache 查看教程