仅限本地的显示源
src, resolve,以及 bind 仅在本地文件存在时才返回资源。您的 img 或 video 标签将接收一个本地 webview URL。
仅限本地的显示源
src, resolve,以及 bind 仅在本地文件存在时才返回资源。您的 img 或 video 标签将接收一个本地 webview URL。
持久化原生存储
缓存资源存储在应用拥有的持久化存储中,而非系统可能会在压力下清理的平台缓存文件夹中。
受保护的 CDN 支持
在 Web 元素仅加载本地文件的同时,将 Header 传递给原生 fetch 以获取签名或经过身份验证的资源。
框架友好型绑定
将原生缓存解析绑定到原生 HTML、React refs、Vue refs 或任何可以赋值 img/video src 的框架。
将 CDN 图片和视频缓存到应用的持久存储中,并绑定为本地媒体源
先使用 cancel() 以及下方列出的其他核心方法。
| 平台 | 支持 | 备注 |
|---|---|---|
| iOS | 是 | 原生 |
| Android | 是 | 原生 |
| Web 端 | 否 | 用 Capacitor.getPlatform() 做防护 |
当您的应用需要展示大型远程媒体,且这些媒体在常规存储压力下仍需保留时,请使用 Asset Cache:
<img> 和 <video> 不应直接请求受保护的 URLconfigure(options) 设置默认 CDN 和重新验证行为。bind(element, path, options?) 当本地文件就绪时,更新图片或视频元素。src(path, options?) 返回用于框架状态的本地 source 字符串。resolve(path, options?) 返回本地 source 及缓存元数据。get(options) 将远程 URL 解析为持久化的 Native 文件元数据。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-downloader 用于显式的后台下载, @capgo/capacitor-file 用于通用的本地文件访问,以及 使用 @capgo/capacitor-asset-cache 用于本教程。