再仔细看一下,我认为解决方案应该反过来——uploads:migrate_to_s3 任务的条件应该是 if !FileHelper.is_supported_media?(name)。给视频和音频文件添加 content-disposition: attachment; filename=X 头信息是不合理的。您是在 Discourse 帖子内流式传输这些文件,而不是下载它们吧?
因此,我们希望实现的效果是:
不添加 content-disposition attachment 头信息
- 图片
- 视频
- 音频
添加 content-disposition attachment 头信息,并使用原始文件名
- 所有其他附件/上传文件(PDF、TXT、CSV 等)
如果我遗漏了什么,请随时补充更多信息或示例。