CompleteMultipartUpload返回的etag值与原文件的md5值不同
ReCompleteMultipartUpload返回的etag值与原文件的md5值不同
OSS的API文档有这样一句话:Put Object 请求处理成功后,OSS 会将收到文件的 MD5 值放在返回给用户的请求头“ETag”中,以便用户检查 OSS 上的数据和要上传的数据内容一致。可能这句话只对PutObject请求有效,而不包括MultipartUpload请求。
另外,GetObject的时候可以传if-match参数,如果传入期望的 ETag 和 object 的 ETag 匹配,则正常传输文件。如果是PutObject上传的文件,我可以直接算文件的md5得到ETag值。但如果是MultipartUpload上传的文件,如果之前没有保存下CompleteMultipartUpload时的ETag,我就不能知道if-match该传什么参数。
自定义header可以解决这个问题,但我觉得如果还要自定义一个header来保存md5,那原本的ETAG字段是不是可有可无呢?
最后,我觉得,由于MultiparUpload返回的etag值不是文件的md5值,会导致一些操作(例如GetObject if-match时下载)处理起来比较繁琐。
谢谢楼上的回复。
赞0
踩0