Appearance
CompleteMultipartUpload
接口描述
当请求者用UploadPart将所有的Part都上传完成后,需要用此CompleteMultipartUpload命令完成整个MultipartUpload操作。此命令需要请求提供有效的Part列表,包含part的PartNumber和eTag。FOS收到此命令后会检查数据,然后把所有的Part组合成一个Object。
请求(Request)
请求语法
POST /<BucketName>/<ObjectName>?uploadId=UploadId HTTP/1.1
Host: fos.flymeyun.com
Date: <Date>
Content-Length: <ContentLength>
Content-Type: text/plain
请求参数
名称 | 类型 | 参数位置 | 描述 | 是否必需 |
---|---|---|---|---|
partNumber | Int | Request Body参数 | 此part在目的Object中的序号。partNum取值范围 1-10000,一次MultiPart的PartNumber要求必须严格有序,比如有3个Part,PartNumber可以是1,3,5。 | 是 |
eTag | String | Request Body参数 | Object的HTTP协议实体标签 | 是 |
请求头域
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
Content-Length | Long Int | 头域,JSON数据的长度 | 是 |
x-fos-meta-* | String | 用户自定义的meta | 否 |
响应(Response)
响应头域
- 无特殊头域
响应元素
名称 | 类型 | 描述 |
---|---|---|
bucket | String | 此Object所属的Bucket |
eTag | String | Object的HTTP协议实体标签 |
key | String | Object名称 |
location | String | 此Object的url |
注意事项
- CompleteMultipartUpload的请求Body最大为1MB。
- 一次MultiPart的PartNumber可以是不连续的,比如1, 3, 5。
示例
请求示例
POST /BucketName/ObjectName?uploadId=UploadId HTTP/1.1
Host: fos.flymeyun.com
Date: Wed, 06 Apr 2016 06:34:40 GMT
Content-Length: 11434
Content-Type: text/plain
{
"parts":[
{
"partNumber":1,
"eTag":"a54357aff0632cce46d942af68356b38"
},
{
"partNumber":2,
"eTag":"0c78aef83f66abc1fa1e8477f296d394"
},
{
"partNumber":3,
"eTag":"acbd18db4cc2f85cedef654fccc4a4d8"
}
]
}
响应示例
HTTP/1.1 200 OK
x-fos-request-id: 4db2b34d-654d-4d8a-b49b-3049ca786409
Date: Wed, 06 Apr 2016 06:34:40 GMT
Connection: close
{
"location":"http://fos.flymeyun.com/BucketName/ObjectName",
"bucket":"BucketName",
"key":"object",
"eTag":"3858f62230ac3c915f300c664312c11f"
}