0
Я получаю файл с s3 с помощью go sdk. Хотя ответ указывает ContentLength, фактическое чтение из тела не заполняет мой буфер.S3 GetObject возвращает содержимое, но чтение из тела не заполняет буфер
ответ
{
AcceptRanges: "bytes",
Body: buffer(0xc0421d6cc0),
ContentEncoding: "utf-8",
ContentLength: 13,
ContentType: "application/json",
ETag: "\"a15ce1024b219fd76684ba1561d23ccc\"",
LastModified: 2017-02-09 15:16:45 +0000 UTC,
Metadata: {
}
}
код
var buf []byte
r, err := resp.Body.Read(buf)
if err != nil {
return "", err
}
defer resp.Body.Close()
fmt.Printf("read %d, buff %d", r, len(buf))
"read 0, buff 0"
Ваш буфер равен нулю, поэтому вы ничего не читаете. Я думаю, что вы ищете функциональность ['ioutil.ReadAll'] (https://golang.org/pkg/io/ioutil/#ReadAll). – JimB
@JimB благодарит его. Вы можете добавить ответ, чтобы я мог повышать, если вам нравится – Mantzas