Amazon S3提供InvalidDigest:您指​​定的Content-MD5无效

这是解决scheme:通过将MD5hex转换为base64而不是string来解决此问题。

JS的例子(Node.js或类似的,browserify等

new Buffer(md5, 'hex').toString('base64') 

我花了几分钟的时间来弄明白,所以我想我可以分享它。 🙂

Content-MD5始终是一个base64头。

根据RFC 1864,该消息的base64编码的128位MD5摘要(不带标题)。此标头可用作消息完整性检查,以validation数据是与最初发送的数据相同的数据。 虽然它是可选的,但我们build议使用Content-MD5机制作为端到端的完整性检查。 有关REST请求身份validation的更多信息,请转到Amazon Simple Storage Service开发人员指南中的REST身份validation。types:string默认:无约束:无

REST Put对象