开发者社区> 问答> 正文

Python 多线程上传文件及MD5校验

自己用Python SDK写了个多线程上传文件的脚本,结果下载后文件不一致,在线求解以下问题:


1. 分片上传大文件,如何进行MD5校验?
    对每个分片计算MD5,然后和上传返回的etag值比较吗?


2. 上传后的大文件如何校验MD5




如果有现成的多线程分片上传的Python脚本...跪求共享

展开
收起
老欧 2016-01-15 20:21:18 8975 0
2 条回答
写回答
取消 提交回答
  • 回 楼主(老欧) 的帖子
    我觉得在官方没有更好的解决方案之前
    可以采取以下措施
    1. 尽可能多地使用Content-MD5
    参见:
    Content-MD5的计算方法
    https://help.aliyun.com/document_detail/oss/api-reference/access-control/signature-header.html?spm=5176.product8314910_oss.6.166.OpjgFG

    2. 使用自定义头部将文件的内容md5计算,放在object meta中,x-oss-meta-md5=xxxx
    然后下载的时候和当初上传的进行对比
    2016-01-16 11:38:04
    赞同 展开评论 打赏
  • Aliyun OSS 研发,专注存储高性能
    RePython 多线程上传文件及MD5校验
    1 第一个问题
    如果用户上传了Content-MD5请求头,OSS会计算body的Content-MD5并检查一致性,如果不一致,将返回InvalidDigest错误码。
    可以自己算一个与oss返回的做对比
    2 每个分片的etag没有错,数据都是正确的,complete 后不会出错的
    2016-01-15 21:06:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载