完成分片上传
此 POST 操作用于将所有数据Part都上传完成后完成整个文件的分片上传。
请求
请求语法
内容
POST /ObjectName?uploadId=UploadId HTTP/1.1 Host: {BucketName}.{Endpoint} Date: {date} Authorization: {SignatureValue} <CompleteMultipartUpload> <Part> <PartNumber>PartNumber</PartNumber> <ETag>ETag</ETag> </Part> ... </CompleteMultipartUpload>
描述
Endpoint:参考与region地域的关系 SignatureValue:参考签名算法
请求参数
无
非公共请求头
无
请求体
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
CompleteMultipartUpload | 容器 | 是 | 保存CompleteMultipartUpload请求内容的容器。 子节点:一个或多个Part元素。 父节点:无 |
ETag | 字符串 | 是 | Part成功上传后,OSS返回的ETag值。 父节点:Part |
Part | 容器 | 是 | 保存已上传Part信息的容器。 子节点:ETag、PartNumber。 父节点:CompleteMultipartUpload |
PartNumber | 整数 | 是 | Part分片编号,与ETag对应。 父节点:Part |
响应
非公共响应头
无
响应体
名称 | 类型 | 描述 |
---|---|---|
Bucket | 字符串 | Bucket名称。 父节点:CompleteMultipartUploadResult |
CompleteMultipartUploadResult | 容器 | 保存Complete Multipart Upload请求结果的容器。 子节点:Bucket、Key、ETag、Location。 父节点:None |
ETag | 字符串 | Object生成时会创建相应的ETag ,ETag用于标识一个Object的内容。 通过CompleteMultipartUpload请求创建的Object,ETag值是基于一定计算规则生成的唯一值,但不是其内容的MD5值。 父节点:CompleteMultipartUploadResult |
Location | 字符串 | 新创建Object的URL。 父节点:CompleteMultipartUploadResult |
Key | 字符串 | 新创建Object的名字。 父节点:CompleteMultipartUploadResult |
示例
请求
POST /multipart.data?uploadId=0004B9B2D2F7815C432C9057C031**** HTTP/1.1 Host: oss-example.oss-cn-beijing.inspurcloud.com Content-Length:6291456 Date: Fri, 26 Dec 2014 06:34:32 GMT Authorization: authorization string <CompleteMultipartUpload> <Part> <PartNumber>1</PartNumber> <ETag>"3349DC700140D7F86A0784842780****"</ETag> </Part> <Part> <PartNumber>5</PartNumber> <ETag>"8EFDA8BE206636A695359836FE0A****"</ETag> </Part> <Part> <PartNumber>8</PartNumber> <ETag>"8C315065167132444177411FDA14****"</ETag> </Part> </CompleteMultipartUpload>
响应
HTTP/1.1 200 OK x-oss-request-id: 996c76696e6727732072657175657374 Date: Fri, 26 Dec 2014 06:48:46 GMT Content-Length: 0 Connection: keep-alive <?xml version="1.0" encoding="UTF-8"?> <CompleteMultipartUploadResult xmlns=”http://doc.oss-cn-beijing.inspurcloud.com”> <Location>oss-example.oss-cn-beijing.inspurcloud.com/multipart.data</Location> <Bucket>oss-example</Bucket> <Key>multipart.data</Key> <ETag>"B864DB6A936D376F9F8D3ED3BBE540****"</ETag> </CompleteMultipartUploadResult>
错误码
错误码 | 状态码 | 描述 |
---|---|---|
InvalidDigest | 400 | 为了保证数据在网络传输过程中不出现错误,用户发送请求时可以携带Content-MD5,OSS计算上传数据的MD5与用户上传的MD5值不一致。 |
MalformedXML | 400 | 请求体格式错误。 |
InvalidRange | 416 | 分片数量超过上限。 |
NoSuchUpload | 404 | 分片上传ID不存在。 |
EntityTooSmall | 400 | 分片小于最小值。 |