我正在尝试将从API接收的文件传送回用户,而不必将其全部存储在内存中.
我已经遇到不同的概念/想法在我的搜索,比如io.Copy,io.Pipe()等我不知道哪一个是正确的解决方案.
例如,io.Pipe()似乎有人在现场创建一个新的读者和作者,而不是已经存在的那个.
One*_*One 11
io.Copy 是这样做的方式,有以下几点:
func pipeReq(rw http.ResponseWriter, req *http.Request) {
resp, err := http.Get(".....")
if err != nil{
//handle the error
return
}
rw.Header().Set("Content-Type", resp.Header.Get("Content-Type"))
rw.Header().Set("Content-Length", resp.Header.Get("Content-Length"))
io.Copy(rw, resp.Body)
resp.Body.Close()
}
Run Code Online (Sandbox Code Playgroud)
//编辑:误读了问题,现在修复了代码.