Skip to content

uploadBlobViaSignedPut

申请 signed-upload-url 后通过 XHR 直传对象存储(原始字节 PUT + 进度)。

前置依赖

依赖参数

参数名类型说明
deps.requestOssSignedUploadUrl(body) => Promise<Payload>申请 signed-upload-url
deps.XMLHttpRequestXMLHttpRequestConstructor浏览器 XHR 构造器

函数签名

typescript
function uploadBlobViaSignedPut(
  input: UploadBlobViaSignedPutInput,
  deps: UploadBlobViaSignedPutDeps,
): Promise<OssSignedPutUploadResult>

参数

参数名类型必填说明
input.fileBlob待上传文件
input.bucketstring目标桶
input.pathstring对象路径
input.contentTypestring缺省 application/octet-stream
input.upsertboolean传给 signed-upload-url
input.onUploadProgress(loaded, total) => void上传进度
depsUploadBlobViaSignedPutDeps环境依赖

返回值

类型说明
Promise<OssSignedPutUploadResult>publicUrlpathbucket

工作原理

  1. 调用 requestOssSignedUploadUrl 获取 signedUrlpublicUrl
  2. 使用 putRawSignedUploadWithProgress(注入 XMLHttpRequest)上传文件并报告进度。
  3. 返回 publicUrlpathbucket