Skip to content
大纲

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

请求参数

名称类型参数位置描述是否必需
partNumberIntRequest Body参数此part在目的Object中的序号。partNum取值范围 1-10000,一次MultiPart的PartNumber要求必须严格有序,比如有3个Part,PartNumber可以是1,3,5。
eTagStringRequest Body参数Object的HTTP协议实体标签

请求头域

名称类型描述是否必需
Content-LengthLong Int头域,JSON数据的长度
x-fos-meta-*String用户自定义的meta

响应(Response)

响应头域

  • 无特殊头域

响应元素

名称类型描述
bucketString此Object所属的Bucket
eTagStringObject的HTTP协议实体标签
keyStringObject名称
locationString此Object的url

注意事项

  1. CompleteMultipartUpload的请求Body最大为1MB。
  2. 一次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"
}