[PHP-SDK]使用multiuploadFile分片上传, 对象content md5为空-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

[PHP-SDK]使用multiuploadFile分片上传, 对象content md5为空

老小孩儿 2017-01-04 09:49:08 2180

使用场景

  1. WEB直传
  2. APP经过服务器中转上传到OSS,(APP每上传“一部分”内容,服务器直接通过uploadPart上传到OSS)
    这两种方式服务器均无法取得整个文件的Content-MD5,因为服务器在上传完成前,无法得知文件的整个内容)。

文件使用multiuploadFile分片上传,当文件大小超过 OssUtil::OSS_MID_PART_SIZE或者设置分片大小,进行上传, 完成上传后, 使用getObjectMeta, etag出现带编号的字符,类似""DBBCA06B72052598E18B038678236B8B-5"",
Content-MD5值为空不存在。

错误似乎发生:completeMultipartUpload
对象的ETag变成了这个请求中XML加密算法后生成的ETag。
这里似乎缺少一步,即设置整个文件对象的ETag以及Content-MD5。

https://help.aliyun.com/document_detail/31995.html?spm=5176.doc31947.6.882.HiU2Cu 在这个链接中返回示例中返回也是类似的ETag。

但是如果按照这个逻辑,整个OSS通过分片上传产生的ETag以及Content-MD5都会有问题,那其它用户是如何取得正确的Content-MD5的?

对WEB端JS直传进行测试,如果进行分片上传,该对象的ETag及Content-MD5同样会使用最后一片上传内容的ETag和Content-MD5。

那如果假定所有的Content-MD5不可用,如何使用SDK取得某一个对象的正确的Content-MD5值?

XML JavaScript 开发工具 对象存储 数据格式
分享到
取消 提交回答
全部回答(1)
  • 老小孩儿
    2019-07-17 20:39:43

    为什么没人回复呢!?

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

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