存储

存储快速入门

学习如何使用 Supabase 存储和提供文件服务。


本指南展示了 Supabase 存储的基本功能。您可以在 GitHub 上找到完整示例应用

核心概念

Supabase 存储由文件(File)、文件夹(Folder)和存储桶(Bucket)组成。

文件

文件可以是任何类型的媒体文件,包括图片、GIF 和视频。由于文件体积较大,最佳实践是将它们存储在数据库之外。出于安全考虑,HTML 文件会以纯文本形式返回。

文件夹

文件夹是组织文件的方式(就像您电脑中的文件夹一样)。组织文件没有绝对正确或错误的方式,您可以根据项目需求采用任何文件夹结构。

存储桶

存储桶是文件和文件夹的独立容器,您可以将其视为"超级文件夹"。通常您会为不同的安全性和访问规则创建独立的存储桶。例如,您可以将所有视频文件保存在"video"存储桶中,而将个人头像保存在"avatar"存储桶中。

创建存储桶

您可以通过以下方式创建存储桶:

  1. 进入控制面板的存储页面
  2. 点击新建存储桶并输入名称
  3. 点击创建存储桶

上传文件

您可以通过仪表盘(Dashboard)或使用我们的JS库在浏览器中上传文件。

  1. 进入仪表盘的存储页面
  2. 选择您要上传文件的目标存储桶(bucket)
  3. 点击上传文件按钮
  4. 选择您要上传的文件

下载文件

您可以通过仪表盘或使用我们的JS库在浏览器中下载文件。

  1. 进入仪表盘的存储页面
  2. 选择包含目标文件的存储桶
  3. 选择您要下载的文件
  4. 点击下载按钮

添加安全规则

您可以通过仪表板或SQL来限制对文件的访问权限。

  1. 进入仪表板的存储页面
  2. 点击侧边栏中的策略
  3. OBJECTS表中点击添加策略来为文件添加策略。您也可以为存储桶创建策略
  4. 选择策略应用于下载(SELECT)、上传(INSERT)、更新(UPDATE)还是删除(DELETE)
  5. 为策略指定一个唯一名称
  6. 使用SQL编写策略