1 回答

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
v
如果你已經(jīng)確定身體無壓縮,如果你需要一個(gè)[]byte壓縮的數(shù)據(jù)(而不是例如已經(jīng)有一個(gè)io.Writer你可以寫,例如,如果你想身體保存到一個(gè)文件,那么你會(huì)希望流到文件而不是緩沖區(qū))然后這樣的事情應(yīng)該工作:
func getCompressedBody(r *http.Response) ([]byte, error) {
var buf bytes.Buffer
gz := gzip.NewWriter(&buf)
if _, err := io.Copy(gz, r.Body); err != nil {
return nil, err
}
err := gz.Close()
return buf.Bytes(), err
}
(這只是一個(gè)例子,可能是內(nèi)聯(lián)的,而不是作為一個(gè)函數(shù);如果你想要它作為一個(gè)函數(shù),那么它可能應(yīng)該使用 anio.Reader而不是 an *http.Response)。
- 1 回答
- 0 關(guān)注
- 205 瀏覽
添加回答
舉報(bào)