from.uploadToSignedUrl()

from.uploadToSignedUrl()的作用是使用 createSignedUploadUrl 函数生成的令牌(签名的上传URL)来进行文件的上传。

需要RLS策略权限:

  • buckets表的权限: 无
  • objects表的权限:无

请参考存储指南中关于访问控制的工作方式。

案例教程

案例1 (上传带有签名的URL)#

1                                                                                 
2const { data, error } = await supabase
3.storage
4.from('avatars')
5.uploadToSignedUrl('folder/cat.jpg', 'token-from-createSignedUploadUrl', file)

参数说明

  • 路径(path)[必要参数]
    string类型

    文件路径,包括文件名。应该是 folder/subfolder/filename.png 这样的格式。在尝试上传之前,存储桶必须已经存在。

  • 令牌(token)[必要参数]
    string类型

    从 createSignedUploadUrl 函数生成的令牌。

  • fileBody[必要参数]
    FileBody类型

    要存储在存储桶中的文件内容。

  • fileOptions[可选参数]
    FileOptions类型

      特性
    • cacheControl[可选参数]
      string类型

      资源在浏览器和Supabase CDN中缓存的秒数。这是通过设置Cache-Control: max-age=<seconds>头来实现的。默认为3600秒。

    • contentType[可选参数]
      string类型

      Content-Type 标头值。如果使用的 fileBody 不是 Blob、File 或 FormData 类型,则应该指定该值,否则将默认为 text/plain;charset=UTF-8。

    • duplex[可选参数]
      string类型

      duplex 选项是一个字符串参数,用于启用或禁用双工流式传输,在同一流中实现读取和写入数据。它可以作为选项传递给 fetch() 方法。

    • upsert[可选参数]
      boolean类型

      当 upsert 设置为 true 时,如果文件存在,将覆盖它。当设置为 false 时,如果对象已存在,将抛出错误。默认为 false。