CompleteMultipartUpload返回的etag值与原文件的md5值不同-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

CompleteMultipartUpload返回的etag值与原文件的md5值不同

weilin 2012-08-24 16:56:42 14857
用MultipartUpload的方式上传文件后,最终的文件md5值与原文件的md5值不同。返回的etag值在最后面还多了个-[number], number应该表示的是part的数目。(在OSS的API文档中可以看到)
可以确定的是整个上传过程没有错误。因为适用CopyObject复制那个用multipart上传的文件后目标文件的md5值也是与之不同。
API 对象存储
分享到
取消 提交回答
全部回答(9)
  • ftp4oss
    2014-10-28 21:41:18
    Re:ReCompleteMultipartUpload返回的etag值与原文件的md5值不同
    引用第1楼wood23于2012-08-24 23:38发表的 ReCompleteMultipartUpload返回的etag值与原文件的md5值不同 :
    OSS 的API文档中没有提到ETAG等于MD5,建议在上传的时候在object的自定义header,以x-oss-开头的,写入md5值,下载的时候对比下内容的md5就可以。

    个人感觉 二楼用户的答复是正解。
    0 0
  • shinenuaa
    2014-10-28 10:27:35
    回楼主weilin的帖子
    如果是multipart方式上传文件的,etag 计算方式是 :
              首先分别计算每片part的md5,例如你上传的文件 part1, part2, part3..... partn
              计算出每一块的part 的md5为  etag1,   etag2, etag3..... etagn
              etag = etag1 + etag2 + etag3 + .... + etagn
              etag = md5(etag) + ''-" + n ,  这个n 是你实际complete 的块数。
    0 0
  • 辰5276
    2014-10-27 23:05:55
    ReCompleteMultipartUpload返回的etag值与原文件的md5值不同
    我也是,真他NND想骂娘,阿里云OSS的开发者们不能出来冒个泡么?咋解决?

    -------------------------

    ReCompleteMultipartUpload返回的etag值与原文件的md5值不同
    OSS 的API文档中没有提到ETAG等于MD5,建议在上传的时候在object的自定义header,以x-oss-开头的,写入md5值,下载的时候对比下内容的md5就可以。

    请问老大们,能对这个做进一步解释么?如何加HEADER?
    0 0
  • 子亦非鱼
    2013-09-11 14:00:35
    ReCompleteMultipartUpload返回的etag值与原文件的md5值不同
    楼主问题解决没?
    0 0
  • ap7121b4i
    2012-09-21 12:45:03
    ReCompleteMultipartUpload返回的etag值与原文件的md5值不同
    我今天也发现了这个问题,之前传了几个小文件,etag和MD5是一样的。分块上传的就很奇怪。




    在OSS群里问没人回答,不知道etag究竟是个什么算法,如果不知道他的算法,那么就没法确定上传后的文件的正确性啊
    0 0
滑动查看更多
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章
相似问题
推荐课程