from.getPublicUrl()
from.getPublicUrl()是用于获取公开存储桶中资源URL的函数。如果你不想使用这个函数,也可以通过将存储桶URL与资源路径拼接在一起来构建公开(public)URL。
这个函数不会验证存储桶是否为公开(public)。如果为非公开的存储桶创建了公开(public)URL,你将无法下载资源。
需要将存储桶设置为公开(public)状态,可以通过 updateBucket() 方法或者在 MemFireCloud应用控制台的存储
页面中,选择你需要操作的存储桶,点击该存储桶的扩展按钮。选择编辑存储桶
,然后选择公开存储桶
按钮即可完成。
需要RLS策略权限:
buckets
表的权限: 无objects
表的权限:无
请参考存储指南中关于访问控制的工作方式。
案例教程
案例1 (返回公开存储桶中资源的URL)#
1 2const { data } = supabase 3.storage 4.from('public-bucket') 5.getPublicUrl('folder/avatar1.png')
案例2 (返回公开存储桶中带有转换的资源的URL)#
1
2const { data } = supabase
3.storage
4.from('public-bucket')
5.getPublicUrl('folder/avatar1.png', {
6 transform: {
7 width: 100,
8 height: 100,
9 }
10})
案例3 (返回触发公开存储桶中资源下载的URL)#
1
2const { data } = supabase
3.storage
4.from('public-bucket')
5.getPublicUrl('folder/avatar1.png', {
6 download: true,
7})
参数说明
路径(path)[必要参数]
string类型
文件路径,包括当前文件名。例如 folder/image.png。
选项(option)[可选参数]
object类型
download[可选参数]
|string
boolean
如果设置为 "true",就会触发该文件的下载。如果你想用不同的文件名来触发下载,将此参数设置为文件名。
transform[可选参数]
TransformOptions类型
将资源提供给客户端之前对其进行转换。
format[必要参数]
"origin"
指定所请求图像的格式。当使用 'origin' 时,我们强制格式与原始图像相同。当未传入此选项时,图像将被优化为现代图像格式,如 Webp。
height[可选参数]
数字类型
图像的高度(以像素为单位)。
quality[可选参数]
数字类型
设置返回图像的质量。取值范围为 20 到 100,其中 100 表示最高质量。默认为 80。
resize[可选参数]
"cover" | "contain" | "fill"
调整大小模式可以是 cover、contain 或 fill。默认为 cover。Cover 模式会根据原始图像的宽高比来调整图像的大小,并填充整个宽度和高度。 Contain 模式会根据原始图像的宽高比来调整图像的大小,并使整个图像适应指定的宽度和高度。Fill 模式会调整图像的大小以填充整个宽度和高度。如果对象的宽高比与指定的宽度和高度不匹配,图像将被拉伸以适应。
width[可选参数]
数字类型
图像的宽度(以像素为单位)。
特性
特性