在将所有数据Part都上传完成后,必须调用Complete Multipart Upload API来完成整个文件的Multipart Upload。在执行该操作时,用户必须提供所有有效的数据Part的列表(包括part号码和ETAG);OSS收到用户提交的Part列表后,会逐一验证每个数据Part的有效性。当所有的数据Part验证通过后,OSS将把这些数据part组合成一个完整的Object。
请求语法POST /ObjectName?uploadId=UploadId HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Content-Length: Size
Authorization: Signature
<CompleteMultipartUpload>
<Part>
<PartNumber>PartNumber</PartNumber>
<ETag>ETag</ETag>
</Part>
...
</CompleteMultipartUpload>
请求参数(Request Parameters)
Complete Multipart Upload时,可以通过encoding-type对返回结果中的Key进行编码。
名称 | 描述 |
encoding-type | 指定对返回的Key进行编码,目前支持url编码。Key使用UTF-8字符,但xml 1.0标准不支持解析一些控制字符,比如ascii值从0到10的字符。对于Key中包含xml 1.0标准不支持的控制字符,可以通过指定encoding-type对返回的Key进行编码。数据类型:字符串默认值:无,可选值:url |
名称 | 描述 |
CompleteMultipartUpload | 保存Complete Multipart Upload请求内容的容器。 类型:容器 子节点:一个或多个Part元素 父节点:无 |
ETag | Part成功上传后,OSS返回的ETag值。 类型:字符串 父节点:Part |
Part | 保存已经上传Part信息的容器。 类型:容器 子节点:ETag, PartNumber 父节点:InitiateMultipartUploadResult |
PartNumber | Part数目。 类型:整数 父节点:Part |
名称 | 描述 |
Bucket | Bucket名称。 类型:字符串 父节点:CompleteMultipartUploadResult |
CompleteMultipartUploadResult | 保存Complete Multipart Upload请求结果的容器。 类型:容器 子节点:Bucket, Key, ETag, Location 父节点:None |
ETag | ETag (entity tag) 在每个Object生成的时候被创建,用于标示一个Object的内容。Complete Multipart Upload请求创建的Object,ETag值是其内容的UUID。ETag值可以用于检查Object内容是否发生变化。. 类型:字符串 父节点:CompleteMultipartUploadResult |
Location | 新创建Object的URL。 类型:字符串 父节点:CompleteMultipartUploadResult |
Key | 新创建Object的名字。 类型:字符串 父节点:CompleteMultipartUploadResult |
EncodingType | 指明返回结果中编码使用的类型。如果请求的参数中指定了encoding-type,那返回的结果会对Key进行编码。类型:字符串父节点:容器 |
POST /multipart.data? uploadId=0004B9B2D2F7815C432C9057C03134D4 HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Content-Length: 1056
Date: Fri, 24 Feb 2012 10:19:18 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfj byc:8VwFhFUWmVecK6jQlHlXMK/zMT0=
<CompleteMultipartUpload>
<Part>
<PartNumber>1</PartNumber>
<ETag>"3349DC700140D7F86A078484278075A9"</ETag>
</Part>
<Part>
<PartNumber>5</PartNumber>
<ETag>"8EFDA8BE206636A695359836FE0A0E0A"</ETag>
</Part>
<Part>
<PartNumber>8</PartNumber>
<ETag>"8C315065167132444177411FDA149B92"</ETag>
</Part>
</CompleteMultipartUpload>
HTTP/1.1 200 OK
Server: AliyunOSS
Content-Length: 329
Content-Type: Application/xml
Connection: keep-alive
x-oss-request-id: 594f0751-3b1e-168f-4501-4ac71d217d6e
Date: Fri, 24 Feb 2012 10:19:18 GMT
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUploadResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”>
<Location>http://oss-example.oss-cn-hangzhou.aliyuncs.com /multipart.data</Location>
<Bucket>oss-example</Bucket>
<Key>multipart.data</Key>
<ETag>B864DB6A936D376F9F8D3ED3BBE540DD-3</ETag>
</CompleteMultipartUploadResult>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
你好,我是AI助理
可以解答问题、推荐解决方案等