首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gin serve []字节作为文件

Gin serve []字节作为文件
EN

Stack Overflow用户
提问于 2020-05-25 21:32:49
回答 2查看 1.4K关注 0票数 4

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

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

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

注意:我不能控制客户端应用程序,所以我不能改变它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-25 23:02:35

使用Context.Data编写[]byte作为响应。

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

HTTP响应是字节流。没有办法绕过这一点。

票数 3
EN

Stack Overflow用户

发布于 2020-05-25 22:57:51

您可以在读取文件时写入ResponseWriter。它的工作原理与使用http.ResponseWriter类似。

代码语言:javascript
复制
import "io"

//...

io.Copy(ctx.ResponseWriter, ftpReader)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62003501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档