跳转至正文

Firebase Storage Capacitor 插件

适用于 Firebase Cloud Storage 的 Capacitor 插件

安装

bun add @capgo/capacitor-firebase-storage bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-firebase-storage
  • pnpm add @capgo/capacitor-firebase-storage
  • yarn add @capgo/capacitor-firebase-storage

指南

如何在 Capacitor 中使用 Firebase Storage

使用 @capgo/capacitor-firebase-storage

适用于 Firebase Cloud Storage 的 Capacitor 插件

安装

bun add @capgo/capacitor-firebase-storage
bunx cap sync

bunx cap sync 将插件的原生 code 复制到你的原生项目中。每次升级插件后都要重新运行。

导入

import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';

API 概览

方法 描述
deleteFile 删除文件。
getDownloadUrl 获取文件的下载链接。
getMetadata 获取文件的元数据。
listFiles 列出目录中的文件。
updateMetadata 更新文件的元数据。
downloadFile 下载文件。
uploadFile 上传文件。
useEmulator 配置您的 App 以连接 Cloud Storage 模拟器。

示例

deleteFile()

删除文件。

import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';

await FirebaseStorage.deleteFile({ path: 'mountains.png' });

getDownloadUrl()

获取文件的下载链接。

import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';

const result = await FirebaseStorage.getDownloadUrl({ path: 'mountains.png' });
console.log(result);

getMetadata()

获取文件的元数据。

import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';

const result = await FirebaseStorage.getMetadata({ path: 'mountains.png' });
console.log(result);

listFiles()

列出目录中的文件。

import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';

const result = await FirebaseStorage.listFiles({ path: 'path/to/file' });
// The result holds sensitive values: use it without logging it.

updateMetadata()

更新文件的元数据。

import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';

await FirebaseStorage.updateMetadata({
  path: 'path/to/file',
  metadata: {},
});

downloadFile()

下载文件。

import { FirebaseStorage } from '@capgo/capacitor-firebase-storage';

const result = await FirebaseStorage.downloadFile({ path: 'mountains.png' }, (event, error) => {
  console.log(event);
});
console.log(result);

上表列出了 8 个核心方法。有关 Listener 和 version 辅助函数以及每个方法的完整契约,请参阅 GitHub 仓库.

完整参考文档

继续探索 @capgo/capacitor-firebase-storage 的用法

如果你正在使用 使用 @capgo/capacitor-firebase-storage 要规划存储和文件处理,请将其与 @capgo/capacitor-data-storage-sqlite 关于 @capgo/capacitor-data-storage-sqlite 中的实现细节, 使用 @capgo/capacitor-data-storage-sqlite 关于使用 @capgo/capacitor-data-storage-sqlite 的原生能力, @capgo/capacitor-file 关于 @capgo/capacitor-file 中的实现细节, 使用 @capgo/capacitor-file 用于“使用 @capgo/capacitor-file”中的原生能力,以及 @capgo/capacitor-uploader 了解 @capgo/capacitor-uploader. 的实现细节

常见问题

Firebase Storage 插件常见问题

如何在 Capacitor 应用中安装 Firebase Storage 插件?

运行 "bun add @capgo/capacitor-firebase-storage"(或 "npm install @capgo/capacitor-firebase-storage"),然后运行 "bunx cap sync",使 iOS 和 Android 项目同步原生 code。最后在你的应用 code 中从 "@capgo/capacitor-firebase-storage" 导入即可。

@capgo/capacitor-firebase-storage 是否支持 React、Vue 和 Angular?

支持。Firebase Storage 是一个 Capacitor 包,因此它可以与任何在 Capacitor 中运行的 Web 框架配合使用,包括 Ionic、React、Vue、Angular、Svelte 以及原生 JavaScript。

@capgo/capacitor-firebase-storage 支持哪个版本的 Capacitor?

Capgo 插件遵循 Capacitor 的主版本号:请使用与 Capacitor 主版本号一致的插件主版本(例如插件 v8 对应 Capacitor 8)。GitHub README 中的兼容性表列出了仍在维护的版本。

@capgo/capacitor-firebase-storage 是免费开源的吗?

是的。code 的源码已在 GitHub 公开,地址为 https://github.com/Cap-go/capacitor-firebase/tree/main/packages/storage,并且你可以通过 npm 免费安装该包。欢迎提交 Bug 报告和 Pull Request。

我能否在无需经过 App Store 审核的情况下,更新使用了 Firebase Storage 的 code?

安装或升级插件会改动原生 code,因此需要重新做一次商店构建。之后,调用该插件的 JavaScript、HTML 和 CSS 改动就能通过 Capgo live updates 立即发布。

无需等待 App Store 审核,即可即时推送 Firebase Storage 的变更

只要插件已包含在你的商店版本中,Capgo live updates 就能在几分钟内把 JavaScript、HTML 和 CSS 的改动推送给用户。

开始使用 Capgo