本页
from.upload()
from.upload()用于将一个文件上传到一个现有的桶。
需要RLS策略权限:
buckets
表的权限: 无objects
表的权限:仅在上传新文件时需要插入insert
权限,以及在更新文件时需要选择select
、插入insert
和更新updata
权限
请参考存储指南中关于访问控制的工作方式。
对于 React Native,使用 Blob
、File
或 FormData
并不能按预期工作。相反,应该使用来自 base64 文件数据的 ArrayBuffer
来上传文件,参见下面的示例。
案例教程
案例1 (上传文件)
案例2 (使用来自 base64 文件数据的 ArrayBuffer 来上传文件)
参数说明
-
路径(path) [必要参数]
string类型
文件路径,包括文件名。应该采用folder/subfolder/filename.png的格式。在尝试上传之前,必须确保存储桶已经存在。
-
fileBody [必要参数]
FileBody类型
要存储在存储桶中的文件内容。
-
文件选项(fileOptions) [可选参数]
FileOptions类型
-
cacheControl [可选参数]
string类型
资源在浏览器和Supabase CDN中缓存的秒数。这是通过设置
Cache-Control: max-age=<seconds>
头来实现的。默认为3600秒。 -
contentType [可选参数]
string类型
Content-Type
头的值。如果使用的是既不是Blob
、File
也不是FormData
的fileBody
,则应指定此值;否则,默认为text/plain;charset=UTF-8
。 -
duplex [可选参数]
string类型
duplex选项是一个字符串参数,用于启用或禁用双工流式传输,在同一个流中允许读取和写入数据。它可以作为fetch()方法的选项传递。
-
upsert [可选参数]
boolean类型
当upsert设置为true时,如果文件已存在,则会覆盖该文件。当设置为false时,如果对象已存在,则会抛出错误。默认为false。
特性
-