我有一个杜松子酒的高朗后端。它被认为是一个包含音频文件的ftp服务器的代理。因此,我的客户机应该能够调用端点/download/filepath,然后Golang应用程序将从ftp服务器获取文件,并将其作为文件(无流)返回。
我目前的解决方案是从ftp中读取[]字节的文件,并使用ioutil.TempFile()将其临时写入磁盘,然后使用ctx.File()返回该文件。
如果可能的话,我想跳过创建临时文件的步骤。这有可能吗?也许有一种方法可以代理调用并直接将http调用连接到ftp调用?
注意:我不能控制客户端应用程序,所以我不能改变它。
发布于 2020-05-25 23:02:35
发布于 2020-05-25 22:57:51
您可以在读取文件时写入ResponseWriter。它的工作原理与使用http.ResponseWriter类似。
import "io"
//...
io.Copy(ctx.ResponseWriter, ftpReader)https://stackoverflow.com/questions/62003501
复制相似问题