业务里总会遇到这些东西:
- 用户头像
- 商品图片
- 聊天附件
- 音视频
- 各种用户上传内容
这些显然不适合塞进 Firestore 这种账本。
这时候就轮到 Cloud Storage for Firebase。
你可以把它理解成:
商圈统一云仓库。
它的主路径是:
- 文件进对象存储
- 通过路径引用
- 用安全规则控权限
- 可和 Auth 联动
- 可和 Functions 联动做后处理
一个 Web 上传示例:
import { initializeApp } from "firebase/app";
import {
getStorage,
ref,
uploadBytes,
getDownloadURL
} from "firebase/storage";
const app = initializeApp(firebaseConfig);
const storage = getStorage(app);
export async function uploadAvatar(file: File, userId: string) {
const avatarRef = ref(storage, `avatars/${userId}/${file.name}`);
await uploadBytes(avatarRef, file);
const url = await getDownloadURL(avatarRef);
return url;
}典型业务流是:
用户上传头像
↓
文件进云仓库
↓
返回可访问地址
↓
把这个地址写进 Firestore 用户资料这就像:
货物先进中央仓库,账本里只记仓位和取货凭证。
#Storage 为什么适合和 Firebase 搭配
因为它天然跟这些东西打通:
- Auth 身份
- Security Rules
- Cloud Functions 触发
- Hosting / 前端引用
- Google Cloud Storage 能力
例如很常见的后续处理:
- 图片上传后自动压缩
- 视频上传后自动转码
- 文件上传后做审核
- 上传完成后回写 Firestore
这就是“物业 + 仓库 + 后厨”的联动。