mozillazg / go-cos

腾讯云对象存储服务 COS(Cloud Object Storage) Go SDK(XML API)
https://godoc.org/github.com/mozillazg/go-cos
MIT License
88 stars 26 forks source link

上传文件不需要提供 Content-Length 疑问 #9

Closed jojohappy closed 5 years ago

jojohappy commented 5 years ago

您好

上传文件操作不再需要在特定情况下强制指定 ContentLength 了(COS 服务端新功能)。

CHANGELOG.md 里面看到这句话,请问官方文档在哪里明确说明的吗?还有就是特定情况是指什么情况?

mozillazg commented 5 years ago

@jojohappy

go-cos 中,之前这个特定情况是:

当 r 不是 bytes.Buffer/bytes.Reader/strings.Reader 时,必须指定 opt.ObjectPutHeaderOptions.ContentLength

https://github.com/mozillazg/go-cos/compare/v0.10.0...v0.11.0#diff-00577905a5d0e1212b80afd6f0e42b44L83

COS HTTP API 中,之前必须指定 Content-Length 这个 HTTP Header,否则会报错。

现在是 COS HTTP API 支持了流式上传,不再强制需要 Content-Length Header 了,go-cos 也就不需要说明这个特定情况了。官方文档没有说,不过官方开发人员说了,我实际测试发现也验证了这个改动。详见:https://github.com/tencentyun/cos-nodejs-sdk-v5/issues/47

jojohappy commented 5 years ago

谢谢你的回复,明白了