上传分块

功能说明

上传一个分块到指定的 UploadId 中,单个大小不得超过5GB。

方法原型

  1. func (s *ObjectService) UploadPart(ctx context.Context, key, uploadID string, partNumber int, r io.Reader, opt *ObjectUploadPartOptions) (*Response, error)

请求示例

  1. // 注意,上传分块的块数最多10000块
  2. key := "test/test_multi_upload.go"
  3. f := strings.NewReader("test heoo")
  4. // opt可选
  5. _, err := client.Object.UploadPart(
  6. context.Background(), key, uploadID, 1, f, nil,
  7. )

参数说明

  1. type ObjectUploadPartOptions struct {
  2. ContentLength int
  3. }
参数名称参数描述类型必填
key对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 bucket1-1250000000.cos.ap-guangzhou.myqcloud.com/doc1/pic1.jpg 中,对象键为 doc1/pic1.jpgstring
UploadId标识分块上传的 ID,由 InitiateMultipartUpload 生成string
PartNumber标识上传分块的序号int
r上传分块的内容,可以为本地文件流或输入流。当 r 不是 bytes.Buffer/bytes.Reader/strings.Reader 时,必须指定 opt.ContentLengthio.Reader
ContentLength设置传输长度int

返回结果说明

  1. {
  2. 'ETag': 'string'
  3. }
参数名称参数描述类型
ETag上传分块的 MD5 值string