全书目录

第四十八篇:Supabase 完全指南 —— 开源数据港口宇宙

第九章:Storage —— 港口仓库,不是把大件货物塞进主航道

1 分钟 277 字 第 896 / 962 个阅读单元

Supabase 当然不只管结构化数据。

真实应用里,你一定还会有:

  • 头像
  • 商品图
  • 视频
  • 附件
  • 导入文件
  • 报表导出包

这些东西不适合直接塞进数据库表里。

这时候就轮到 Storage

你可以把它理解成:

港口统一仓储区。

官方能力包括:

  • 文件存储与服务
  • CDN
  • Smart CDN
  • 图像变换
  • 断点续传 / resumable uploads
  • S3 compatibility

一个上传示例:

ts
export async function uploadAvatar(file: File, userId: string) {
  const { data, error } = await supabase.storage
    .from("avatars")
    .upload(`${userId}/${file.name}`, file, {
      upsert: true,
    });

  if (error) throw error;
  return data;
}

公开 URL:

ts
export function getAvatarUrl(path: string) {
  return supabase.storage.from("avatars").getPublicUrl(path).data.publicUrl;
}

这套心智就是:

text
大件货物先入仓
主航道账本里只记仓位、所有权、引用路径

而且 Storage 不是孤立的,它也可以和:

  • Auth
  • RLS 思维
  • Edge Functions
  • 前端 SDK

一起工作。