按照产品需求,需要提供从服务器下载文件的功能,Golang服务基于Gin框架搭建,代码示例如下所示:
package main
import (
"path"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/go.mod", func(c *gin.Context) {
// TODO: 将文件路径修改为需要下载的文件
filepath := "go.mod"
c.Header("Content-Type", "application/octet-stream")
c.Header("Content-Disposition", "attachment; filename="+path.Base(filepath))
c.Header("Content-Transfer-Encoding", "binary")
c.File(filepath)
})
r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
程序运行起来之后,可使用 curl
命令进行测试:
curl -O 'http://localhost:8080/go.mod'