Tôi tìm nạp dữ liệu từ dịch vụ http và tôi muốn giải nén dữ liệu khi đang bay. Đây là cách tiếp cận hiện tại của tôi: Làm thế nào để giải nén io.ReadCloser?
resp, err := http.Get(url)
if err != nil {
logger.Fatalf("Can't fatch %s data. %v", url, err)
}
logger.Info("Fetched data from %s", url)
content_zipped, err := ioutil.ReadAll(resp.Body)
resp.Body.Close()
if err != nil {
logger.Fatal(err)
}
zip_reader, err := zip.NewReader(bytes.NewReader(content_zipped), int64(len(content_zipped)))
Có cách nào để giải nén resp.Body mà không đọc toàn bộ nội dung cùng một lúc (6. dòng)? Ý của tôi là luồng các byte.
Dữ liệu từ dịch vụ là tệp zip. –