问题描述
CompleteMultipartUpload请求的请求体XML包含的分片信息有误。
问题原因
您发起了CompleteMultipartUpload请求来完成分片上传任务,但是您的请求中提交的XML中包含的Part分片信息有误,比如某个Part的PartNumber填写不正确,导致找不到对应的分片;或者某个Part的ETag填写不正确,导致校验不通过。
问题示例
比如您发起了如下请求:
POST /multipart.data?uploadId=0004B9B2D2F7815C432C9057C031****&encoding-type=url 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 qn6q**************:77Dv****************
<CompleteMultipartUpload>
<Part>
<PartNumber>1</PartNumber>
<ETag>"xxx"</ETag>
</Part>
<Part>
<PartNumber>5</PartNumber>
<ETag>"8EFDA8BE206636A695359836FE0A****"</ETag>
</Part>
<Part>
<PartNumber>8</PartNumber>
<ETag>"8C315065167132444177411FDA14****"</ETag>
</Part>
</CompleteMultipartUpload>
上述请求的请求体XML中CompleteMultipartUpload节点的第一个Part子节点的ETag节点值不合法,因此出现该错误。
解决方案
确保您请求中的XML符合格式规范,特别是每个Part的PartNumber和ETag要正确无误。其中ETag值是您调用UploadPart接口上传分片成功以后服务端返回给您的。可参考如下示例:
POST /multipart.data?uploadId=0004B9B2D2F7815C432C9057C031****&encoding-type=url 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 qn6q**************:77Dv****************
<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>
更多信息,请参见OSS在使用分片上传方式上传文件时报InvalidPart错误。
相关文档
文档内容是否对您有帮助?