完成分片 - FinishMultipartUpload
简介
完成分片上传
完成分片上传是把之前的各个分片数据块组合成一个文件。由于分片上传适用的文件一般较大,传输耗时较长,等上传完毕开始指定的object可能已经被占用,遇到这种情形时会采用newObject参数的值作为文件最终的object,否则仍然采用原来的object。
定义
句法(Syntax):
POST /<object_name>?uploadId=<upload_id>&newObject=<new_object> HTTP/1.1
Host: <bucket_name>.cn-bj.ufileos.com
Authorization: <token>
Content-Type: <mimetype>
Content-Length: 63
请求参数(Request Parameters)
请求头(Request Headers)
Name | Type | Description | Required |
---|---|---|---|
Authorization | String | 上传请求的授权签名,API 签名算法 | Yes |
Content-Length | Integer | 请求body部分的长度 | Yes |
Content-Type | String | 请求body部分的类型 | No |
X-Ufile-Meta- * | String | US3中规定所有以X-Ufile-Meta-为前缀的参数视为用户自定义元数据(User Meta),比如x-ufile-meta-location。一个文件可以有多个类似的参数,但所有的User Meta总大小不能超过8KB。这些User Meta信息会在GetFile或者HeadFile的时候在HTTP头部中返回。 | No |
X-Ufile-Metadata-Directive | String | UNCHANGED(默认值):保持初始化时设置的用户自定义元数据不变。 REPLACE:忽略初始化分片时设置的用户自定义元数据,直接采用Finish请求中指定的元数据。 | No |
请求元素(Request Elements)
说明: 未使用
响应(Responses)
响应头(Response Headers)
Name | Type | Description |
---|---|---|
Content-Type | String | 响应body部分的类型 |
Content-Length | Integer | 响应body部分的长度 |
ETag | String | 已上传文件的哈希值 |
X-SessionId | String | 请求失败时返回本次请求的会话Id |
响应元素(Response Elements)
Name | Type | Description |
---|---|---|
Bucket | String | 已上传文件所属Bucket的名称 |
Key | String | 已上传文件在Bucket中的Key名称 |
FileSize | Integer | 已上传文件的大小 |
说明: 同一文件所有已上传分片的ETag用逗号拼接的字符串,作为请求的 body 数据。
示例
请求示例(Example Request):
POST /demokey?uploadId=0f188eb2-5e19-49c3-94c9-36fb5a0ff72a&newKey=anotherkey HTTP/1.1
Host: <bucket_name>.cn-bj.ufileos.com
Authorization: demouser@ucloud.cn13424346821929713944:S5FVD2w613MKb/hisjaqHdjvn9U=
Content-Type: text/plain
Content-Length 287
9EV6kXgrhTfhy65nHAe84vby2po=,bt5wxJ2fYzAIsklPwAeB7Z9LHQI=,Tt_XCL1oic2KI9xD4Gyxa9g_ht0=,DMmtV-wLenWHa5zP0h24ewlvrsc=,UMEvhZgJZsCXV_jIAOXQC60MakI=,1CTgeZYujKyu9ob13800ndWR3f8=,a1_eDguW8oGbDDBbv9Ru3-lJD20=,Q9IVA8bANo4Fmsd2W3e3iiXQrDU=,MiTIX1Mt4wUbpto2-oZ26dovSek=,MuKlR_GmcZuVRx0YEbJZF4_yBvo=
响应示例(Example Response):
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 79
ETag: "AQAAABP9DJdoo2X0hKyax2pVTLQPaVzH"
{
"Bucket": "demobucket",
"Key": "anotherkey",
"FileSize": 41943040
}