全部产品
Search
文档中心

:OSS在使用分片上传方式上传文件时报InvalidPart错误

更新时间:Aug 02, 2024

问题描述

阿里云对象存储OSS在使用分片上传方式上传文件时,上传小于100 KB的文件可以正常上传,上传大于100 KB的文件时报InvalidPart错误,详细报错信息如下:

One or more of the specified parts could not be found or the specified entity tag might not have matched the part's entity tag

问题原因

PartNumber或ETag错误导致CompleteMultipartUpload提交的Part无效。

解决方案

在将所有数据Part都上传完成后,您必须调用CompleteMultipartUpload接口来完成整个文件的分片上传,服务端在调用CompleteMultipartUpload接口时会对PartNumber和ETag做校验。PartNumber和ETag需满足以下条件:

  • PartNumber取值为1~10000,PartNumber可以不连续,但必须升序排列。例如第一个Part的PartNumber是1,第二个Part的PartNumber可以是5。

  • 通过CompleteMultipartUpload请求创建的Object,ETag是基于一定计算规则生成的唯一值,但不是其内容的MD5值。ETag值可以用于检查Object内容是否发生变化,不建议使用ETag作为Object内容的MD5来校验数据完整性。

    说明
    • 对于Put Object请求创建的Object,ETag值是其内容的MD5值。

    • 对于其他方式创建的Object,ETag值是基于一定计算规则生成的唯一值。

更多信息,请参见CompleteMultipartUpload