校验上传对象的数据一致性 本文介绍如何校验上传对象的数据一致性。 应用场景 媒体存储提供了数据一致性校验功能,可以避免因为网络劫持、数据缓存等原因导致的数据不一致问题。 能力概述 媒体存储提供通过计算MD5值的方式对上传的数据进行一致性校验。默认情况下,服务不会进行一致性校验。 上传对象时,客户端需要先计算出对象的MD5值然后携带上传至媒体存储,媒体存储服务端再根据上传的对象内容计算出MD5值,最终与携带上传的MD5值进行对比。 如果对比结果一致,对象上传成功,否则上传失败。 具体校验逻辑如下图所示: 校验方法 本地对象计算出的MD5值作为请求头。 上传时设置请求消息参数ContentMD5为本地计算得出的校验值,具体示例如下: 请求示例: PUT /v1/testbucket/test HTTP/1.1 请求头header: Host:gdoss.xstore.ctyun.cn Date:Wed, 28 Oct 2023 09:32:00 GMT Authorization:authorization string ContentType:text/plain ContentLength:1145 ContentMD5:gnzLDuhOew 请求体body: 实际文件数据。 MD5计算方式为:openssl dgst md5 binary 上传的对象(example.txt) base64 。