![](/img/trans.png)
[英]How do I convert a net/http.ResponseWriter to a net/http.Response
[英]Piping http.Response to http.ResponseWriter
我正在尝试将从API接收的文件传送回用户,而不必将其全部存储在内存中。
我在搜索中遇到了不同的概念/想法,例如io.Copy
, io.Pipe()
等。我不确定哪一个是正确的解决方案。
例如, io.Pipe()
似乎就像有人在现场创建一个新的读者和作者,而不是已经存在的那个。
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()
}
//编辑:误读了问题,现在修复了代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.