初始化分块上传
功能说明
创建一个新的分块上传任务,返回 UploadId。
方法原型
func (s *ObjectService) InitiateMultipartUpload(ctx context.Context, name string, opt *InitiateMultipartUploadOptions) (*InitiateMultipartUploadResult, *Response, error)
请求示例
name := "test_multipart"
v, resp, err := client.Object.InitiateMultipartUpload(context.Background(), name, nil)
参数说明
type ObjectPutOptions struct {
*ACLHeaderOptions
*ObjectPutHeaderOptions
}
type ACLHeaderOptions struct {
XCosACL string
XCosGrantRead string
XCosGrantWrite string
XCosGrantFullControl string
}
type ObjectPutHeaderOptions struct {
CacheControl string
ContentDisposition string
ContentEncoding string
ContentType string
ContentLength int
Expires string
XCosMetaXXX *http.Header
XCosStorageClass string
}
参数名称 | 参数描述 | 类型 | 必填 |
---|
r | 上传文件的内容,可以为文件流或字节流,当 r 不是 bytes.Buffer/bytes.Reader/strings.Reader 时,必须指定 opt.ObjectPutHeaderOptions.ContentLength | io.Reader | 是 |
key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 bucket1-1250000000.cos.ap-guangzhou.myqcloud.com/doc1/pic1.jpg 中,对象键为 doc1/pic1.jpg | string | 是 |
XCosACL | 设置文件的ACL,如 private,public-read,public-read-write | string | 否 |
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,默认值:STANDARD | string | 否 |
Expires | 设置 Content-Expires | string | 否 |
CacheControl | 缓存策略,设置 Cache-Control | string | 否 |
ContentType | 内容类型,设置 Content-Type | string | 否 |
ContentDisposition | 文件名称,设置 Content-Disposition | string | 否 |
ContentEncoding | 编码格式,设置 Content-Encoding | string | 否 |
ContentLength | 设置传输长度 | string | 否 |
XCosMetaXXX | 用户自定义的文件元信息, 必须以 x-cos-meta 开头,否则会被忽略 | http.Header | 否 |
返回结果说明
type InitiateMultipartUploadResult struct {
Bucket string
Key string
UploadID string
}
参数名称 | 参数描述 | 类型 |
---|
UploadId | 标识分块上传的 ID | string |
Bucket | Bucket 名称,由 bucket-appid 组成 | string |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 bucket1-1250000000.cos.ap-guangzhou.myqcloud.com/doc1/pic1.jpg 中,对象键为 doc1/pic1.jpg | string |