0042-00000220

问题描述

CompleteMultipartUpload请求中携带的Content-MD5与服务端计算的MD5值不一致。

问题原因

您发起了CompleteMultipartUpload请求来完成分片上传任务,并且在请求中通过Content-MD5请求头携带了上传数据的MD5,如果服务端根据接收到的数据计算出的MD5与收到的请求头中的MD5值不匹配,就会产生该错误。

问题示例

比如您发起了如下请求:

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****************
Content-MD5: 098f6b*****27b4f6

<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>

上述请求通过Content-MD5请求头携带了上传数据的MD5值,在这种情况下OSS会计算服务端接收到的数据的MD5值,如果二者不匹配则会产生该错误。

解决方案

请确保您计算的MD5值正确无误,并确保CompleteMultipartUpload请求携带的XML中包含了应有的Part信息。

相关文档