在我们的 Discourse 实例中,如果用户上传了 .txt 或 .yaml 文件作为附件,文件名会显示为下载链接:

但点击这些链接并不会下载文件,而是打开一个新的浏览器标签页,显示原始文本内容,加载的 URL 类似于:
https://discourse-attachments.s3.dualstack.us-west-2.amazonaws.com/original/2X/4/xxxxxxxx.txt
如何让下载链接真正下载文件?有人建议启用“安全上传”选项,但在了解该功能后,我有些犹豫是否要启用它。
谢谢,
– Charles
Lilly
2
是的,这很可能是您论坛的配置问题,可能与 CDN 或 S3 有关。
我可能说错了,但我认为问题出在您论坛的文件上传方式上,是本地存储还是 S3 /object/ CDN。也可能是 HTTP 响应头的问题?
我认为如果存在 content-disposition: attachment 响应头,浏览器通常会下载文件;但如果缺失该头,浏览器往往会直接打开 .txt 或 .yml 文件。
test.yml (5 Bytes)
^ 这个 .yml 文件应该能按预期下载。
编辑:我觉得这个主题可能相关: