Create Multipart Upload

2023-02-19 21:13:42

Create Multipart Upload

使用多段上传特性时,用户必须首先调用创建多段上传任务接口创建任务,系统会给用户返回一个全局唯一的多段上传任务号,作为任务标识。后续用户可以根据这个标识发起相关的请求,如:上传段、合并段、列举段等。创建多段上传任务不影响已有的同名对象;同一个对象可以同时存在多个多段上传任务;每个多段上传任务在初始化时可以附加消息头信息,包括acl、用户自定义元数据和通用的HTTP消息头 contentType、contentEncoding等,这些附加的消息头信息将先记录在多段上传任务元数据中。

请求语法

POST /{Key+}?uploads HTTP/1.1
Host: Bucket.s3-us-east-1.ossfiles.com
Cache-Control: CacheControl
Content-Disposition: ContentDisposition
Content-Encoding: ContentEncoding
Content-Language: ContentLanguage
Content-Type: ContentType
Expires: Expires

URI 请求参数

名称 描述 类型
Bucket 存储桶名称 字符串
Key 对象名称 字符串

请求消息头

名称 描述 类型
Bucket 存储桶名称 字符串
Cache-Control 通过指定指令来实现缓存机制。 字符串
Content-Disposition 响应头指示回复的内容该以何种形式展示。 字符串
Content-Encoding 指定编码类型 字符串
Content-Language 用来说明访问者希望采用的语言或语言组合 字符串
Content-Type 实体头部用于指示资源的 MIME 类型 字符串
Expires 响应头包含日期/时间,即在此时候之后,响应过期 字符串
x-amz-* 字符串

请求正文

该请求没有请求正文。


请求元素

该请求没有请求元素。


响应语法

HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<InitiateMultipartUploadResult>
   <Bucket>string</Bucket>
   <Key>string</Key>
   <UploadId>string</UploadId>
</InitiateMultipartUploadResult>

响应元素

名称 描述 类型
Bucket 多段上传对象所在桶的桶名。 容器
Key 多段上传对象的key。 字符串
UploadId 多段上传id,后面进行多段上传时,利用这个id指定多段上传任务。 字符串

响应消息头

该请求没有响应消息头。


示例

请求示例

POST /MultipartUpload?uploads HTTP/1.1
Authorization: AWS4-HMAC-SHA256 Credential=2421a691b4ed625de19f6f92677b6459/20230117/us-east-1/s3/aws4_request, SignedHeaders=content-disposition;host;x-amz-content-sha256;x-amz-date, Signature=943466889148ee99b7fb74ece7940c30b9f12d065d79cac6f93654b4f5d02a5b
Content-disposition: attachment;filename=2022
Content-length: 0
Host: bucket.s3-us-east-1.ossfiles.com
X-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-amz-date: 20230117T073921Z

返回示例

HTTP/1.1 200 OK
Content-length: 252
Content-type: application/xml
Date: Tue, 17 Jan 2023 07:43:12 GMT
x-amz-id-2: ca4737b7614748d2bfd806f6aca8bbfc
x-amz-request-id: 6eff2aac3aa74d4b86b5b82b134ca56b

<?xml version="1.0" encoding="UTF-8"?>
<InitiateMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Bucket>bucket</Bucket>
    <Key>MultipartUpload</Key>
    <UploadId>430675dae3c3d244af0ca375a11005b2</UploadId>
</InitiateMultipartUploadResult>