初始化分块上传

功能说明

创建一个新的分块上传任务,返回 UploadId。

方法原型

  1. func (s *ObjectService) InitiateMultipartUpload(ctx context.Context, name string, opt *InitiateMultipartUploadOptions) (*InitiateMultipartUploadResult, *Response, error)

请求示例

  1. name := "test_multipart"
  2. //可选opt
  3. v, resp, err := client.Object.InitiateMultipartUpload(context.Background(), name, nil

参数说明

  1. type ObjectPutOptions struct {
  2. *ACLHeaderOptions
  3. *ObjectPutHeaderOptions
  4. }
  5. type ACLHeaderOptions struct {
  6. XCosACL string
  7. XCosGrantRead string
  8. XCosGrantWrite string
  9. XCosGrantFullControl string
  10. }
  11. type ObjectPutHeaderOptions struct {
  12. CacheControl string
  13. ContentDisposition string
  14. ContentEncoding string
  15. ContentType string
  16. ContentLength int
  17. Expires string
  18. // 自定义的 x-cos-meta-* header
  19. XCosMetaXXX *http.Header
  20. XCosStorageClass string
  21. }
参数名称参数描述类型必填
r上传文件的内容,可以为文件流或字节流,当 r 不是 bytes.Buffer/bytes.Reader/strings.Reader 时,必须指定 opt.ObjectPutHeaderOptions.ContentLengthio.Reader
key对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 bucket1-1250000000.cos.ap-guangzhou.myqcloud.com/doc1/pic1.jpg 中,对象键为 doc1/pic1.jpgstring
XCosACL设置文件的ACL,如 private,public-read,public-read-writestring
XCosGrantFullControl赋予指定账户对文件的读写权限。格式为id=" ",id=" "当需要给子账户授权时,格式为id="qcs::cam::uin/{OwnerUin}:uin/{SubUin}"当需要给根账户授权时,格式为id="qcs::cam::uin/{OwnerUin}:uin/{OwnerUin}"例如id="qcs::cam::uin/123:uin/456",id="qcs::cam::uin/123:uin/123"string
XCosGrantRead赋予指定账户对文件的读权限。格式为id=" ",id=" "当需要给子账户授权时,格式为id="qcs::cam::uin/{OwnerUin}:uin/{SubUin}"当需要给根账户授权时,格式为id="qcs::cam::uin/{OwnerUin}:uin/{OwnerUin}"例如id="qcs::cam::uin/123:uin/456",id="qcs::cam::uin/123:uin/123"string
XCosGrantWrite赋予指定账户对文件的写权限。格式为id=" ",id=" "当需要给子账户授权时,格式为id="qcs::cam::uin/{OwnerUin}:uin/{SubUin}"当需要给根账户授权时,格式为id="qcs::cam::uin/{OwnerUin}:uin/{OwnerUin}"例如id="qcs::cam::uin/123:uin/456",id="qcs::cam::uin/123:uin/123"string
XCosStorageClass设置文件的存储类型,STANDARD、STANDARD_IA,默认值:STANDARDstring
Expires设置 Content-Expiresstring
CacheControl缓存策略,设置 Cache-Controlstring
ContentType内容类型,设置 Content-Typestring
ContentDisposition文件名称,设置 Content-Dispositionstring
ContentEncoding编码格式,设置 Content-Encodingstring
ContentLength设置传输长度string
XCosMetaXXX用户自定义的文件元信息, 必须以 x-cos-meta 开头,否则会被忽略http.Header

返回结果说明

  1. type InitiateMultipartUploadResult struct {
  2. Bucket string
  3. Key string
  4. UploadID string
  5. }
参数名称参数描述类型
UploadId标识分块上传的 IDstring
BucketBucket 名称,由 bucket-appid 组成string
Key对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 bucket1-1250000000.cos.ap-guangzhou.myqcloud.com/doc1/pic1.jpg 中,对象键为 doc1/pic1.jpgstring