杜松子酒将[] byte用作文件

时间:2020-05-25 13:32:49

标签: http go

我有一个杜松子酒的golang后端。它应该用作包含音频文件的ftp服务器的代理。因此,我的客户端应该能够调用端点/ download / filepath,然后Golang应用程序应该从ftp服务器中获取文件并将其作为文件返回(无流)。

我当前的解决方案是从ftp中以[] byte读取文件,并使用ioutil.TempFile()将其临时写入磁盘,并通过ctx.File()返回该文件。

如果可能的话,我想跳过创建临时文件的步骤。那可能吗?也许有一种方法可以代理该呼叫并将直接将http呼叫连接到ftp呼叫?

请注意,我无法控制客户端应用程序,因此无法更改它。

2 个答案:

答案 0 :(得分:2)

使用Context.Data编写一个undefined: setupintent作为响应。

您还可以使用Context.DataFromReader直接从FTP响应复制到HTTP响应。

HTTP响应是字节流。没有办法解决这个问题。

答案 1 :(得分:1)

您可以在读取文件时写入ResponseWriter。就像使用http.ResponseWriter一样。

import "io"

//...

io.Copy(ctx.ResponseWriter, ftpReader)