You need to enable JavaScript to run this app.
文档中心
AI 原生 BaaS 平台 Supabase 版

AI 原生 BaaS 平台 Supabase 版

复制全文
下载 pdf
使用 Storage
创建文件 Bucket
复制全文
下载 pdf
创建文件 Bucket
本文介绍在 Supabase 控制台和通过 Admin API 两种配置和管理文件 Bucket 的方式。​
在 Supabase 控制台创建文件 Bucket​
  1. 在 Supabase 控制台单击左侧的 Storage,进入 Storage 页面。​
  1. 在 Storage 页面,单击 + New bucket,在弹出的 Create a storage bucket 窗口中完成以下配置后,单击 Create,即可完成桶的创建。​
  • ​
    配置项​
    说明​
    Bucket name​
    ​
    桶的名称。​
    说明​
    不支持在创建 Bucket 后修改 Bucket 的名称。​
    Public bucket​
    选择是否将桶设置为公开。​
    说明​
    用户可以无需任何授权即可读取公共存储桶中的对象。但对于其他操作(如对象上传和删除)仍需要行级安全(RLS)策略。​
    Restrict file size​
    选择是否为桶设置文件大小的限制。设置后,则禁止上传超过指定大小的文件。​
    说明​
    桶的文件大小的限制不能大于 Global file size limit。​
    Restrict MIME types​
    设置是否限制上传的文件类型。设置后,仅指定类型的文件才可以上传至存储桶。​
    ​
通过 Admin API 创建文件 Bucket​
  • 查询文件 Bucket 列表​
​
# curl查询buckets列表的示例​
curl -X GET $SUPABASE_BASE_URL/storage/v1/bucket \​
-H "apikey: ${SERVICE_ROLE_KEY}" \​
-H "Authorization: Bearer ${SERVICE_ROLE_KEY}"​
​
  • 创建文件 Bucket​
​
curl -X POST $SUPABASE_BASE_URL/storage/v1/bucket \​
-H "apikey: ${SERVICE_ROLE_KEY}" \​
-H "Authorization: Bearer ${SERVICE_ROLE_KEY}"​
-H 'Content-Type: application/json' \​
-d '{​
"name": "my-bucket",​
"public": false,​
"file_size_limit": "100MB",​
"allowed_mime_types": ["image/png", "image/jpeg"]​
}'​
​
示例——通过 Supabase Client SDK 进行上传和下载​
  • 上传图片​
​
import { createClient } from '@supabase/supabase-js'​
const supabase = createClient(​
'<SUPABASE_BASE_URL>',​
'<SUPABASE_ANON_KEY>'​
)​
​
// 上传图片​
async function uploadImage(file) {​
const { data, error } = await supabase​
.storage​
.from('pic-bucket') // 填写存储桶名字​
.upload('images/' + file.name, file, {​
cacheControl: '3600',​
upsert: false // 是否覆盖同名文件​
})​
​
if (error) {​
console.log('上传失败:', error.message)​
return​
}​
​
console.log('上传成功:', data)​
return data​
}​
​
  • 下载并转换图片​
​
import { createClient } from '@supabase/supabase-js'​
const supabase = createClient(​
"<SUPABASE_BASE_URL>",​
"<SUPABASE_ANON_KEY>")​
​
// 下载并转换图片​
async function downloadAndTransformImage() {​
const { data, error } = await supabase​
.storage​
.from('pic-bucket')​
.download('pic.bmp', {​
transform: {​
width: 300,​
height: 300,​
quality: 80,​
format: 'jpg'​
}​
})​
​
if (error) {​
console.error('failed: ', err.message)​
} else {​
console.log('success: ', data)​
}​
}​
​
最近更新时间:2026.07.17 17:32:17
这个页面对您有帮助吗?
有用
有用
无用
无用