文件下载接口如果不设置 Content-Type 和 Content-Disposition,浏览器表现会不可控。有的会直接打开,有的会下载,中文文件名也可能乱码。

c.Header("Content-Disposition", "attachment; filename=report.xlsx")
c.File(path)

文件路径必须来自服务端可信映射,不能直接拼用户传入的路径。否则很容易出现目录穿越问题。

如果文件存储在对象存储,接口可以返回临时签名 URL,避免应用服务器转发大文件。

分类: Gin 实战 标签: Gin 文件上传 安全

评论

-- 评论已关闭 --

全部评论