开发者社区> 问答> 正文

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

使用场景
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。
help.aliyun.com/document_detail/31995.html 在这个链接中返回示例中返回也是类似的ETag。
但是如果按照这个逻辑,整个OSS通过分片上传产生的ETag以及Content-MD5都会有问题,那其它用户是如何取得正确的Content-MD5的?
对WEB端JS直传进行测试,如果进行分片上传,该对象的ETag及Content-MD5同样会使用最后一片上传内容的ETag和Content-MD5。
那如果假定所有的Content-MD5不可用,如何使用SDK取得某一个对象的正确的Content-MD5值?

展开
收起
老小孩儿 2017-01-09 14:07:30 4051 0
1 条回答
写回答
取消 提交回答
  • RePHP-SDK使用multiuploadFile分片上传对象content md5为空
    没有人用过这种功能吗?
    没有人通过直传上传到OSS?
    没有人下载文件时需要MD5签名验证吗?
    2017-01-10 10:54:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载