对于上百兆的文件读取,应采取分片读取的方式,代码如下:
//GO 发送http请求:
resp,err := http.post(URL, "application/json", bytes.NewReader(buf))
if err!=nil{
fmt.Println("err",err)
}
//分片读取resp.Body中的大文件
func readBodyFile(resp *http.Response) ([]byte, error) {
buf := make([]byte, 1024)
var result string
for {
n, err := resp.Body.Read(buf)
if err != nil || n == 0 {
fmt.Println("出现错误")
break
}
result += string(buf[:n])
}
return []byte(result), err
}
本文介绍了一种处理上百兆文件的有效方式——分片读取。通过使用Go语言的http包,文章展示了如何发送HTTP请求并分片读取响应体中的大文件,避免内存溢出。

被折叠的 条评论
为什么被折叠?



