存储快速入门
学习如何使用 Supabase 存储和提供文件服务。
本指南展示了 Supabase 存储的基本功能。您可以在 GitHub 上找到完整示例应用。
核心概念
Supabase 存储由文件(File)、文件夹(Folder)和存储桶(Bucket)组成。
文件
文件可以是任何类型的媒体文件,包括图片、GIF 和视频。由于文件体积较大,最佳实践是将它们存储在数据库之外。出于安全考虑,HTML 文件会以纯文本形式返回。
文件夹
文件夹是组织文件的方式(就像您电脑中的文件夹一样)。组织文件没有绝对正确或错误的方式,您可以根据项目需求采用任何文件夹结构。
存储桶
存储桶是文件和文件夹的独立容器,您可以将其视为"超级文件夹"。通常您会为不同的安全性和访问规则创建独立的存储桶。例如,您可以将所有视频文件保存在"video"存储桶中,而将个人头像保存在"avatar"存储桶中。
文件、文件夹和存储桶名称必须遵循AWS 对象键命名指南,避免使用其他特殊字符。
创建存储桶
您可以通过以下方式创建存储桶:
- 进入控制面板的存储页面
- 点击新建存储桶并输入名称
- 点击创建存储桶
上传文件
您可以通过仪表盘(Dashboard)或使用我们的JS库在浏览器中上传文件。
- 进入仪表盘的存储页面
- 选择您要上传文件的目标存储桶(bucket)
- 点击上传文件按钮
- 选择您要上传的文件
下载文件
您可以通过仪表盘或使用我们的JS库在浏览器中下载文件。
- 进入仪表盘的存储页面
- 选择包含目标文件的存储桶
- 选择您要下载的文件
- 点击下载按钮
添加安全规则
您可以通过仪表板或SQL来限制对文件的访问权限。
- 进入仪表板的存储页面
- 点击侧边栏中的策略
- 在
OBJECTS
表中点击添加策略来为文件添加策略。您也可以为存储桶创建策略 - 选择策略应用于下载(SELECT)、上传(INSERT)、更新(UPDATE)还是删除(DELETE)
- 为策略指定一个唯一名称
- 使用SQL编写策略