gpt4 book ai didi

go - 管道 http.Response 到 http.ResponseWriter

转载 作者:IT王子 更新时间:2023-10-29 01:24:11 24 4
gpt4 key购买 nike

我正在尝试将从 API 接收到的文件通过管道返回给用户,而不必将其全部存储在内存中。

我在搜索过程中遇到了不同的概念/想法,例如 io.Copyio.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()

}

//编辑:误读问题,现在修正代码。

关于go - 管道 http.Response 到 http.ResponseWriter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28891531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com