# 无法下载非图像媒体文件，上传至 S3 后原始文件名丢失

**URL:** <https://meta.discourse.org/t/cannot-download-non-image-media-files-original-filenames-lost-when-uploaded-to-s3/152797>\
**Category:** Bug\
**Created:** [2020年五月26日 17:00 UTC](https://meta.discourse.org/t/cannot-download-non-image-media-files-original-filenames-lost-when-uploaded-to-s3/152797 "2020-05-26T17:00:48Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![martin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin/32/491371_2.png) [@martin](https://meta.discourse.org/u/martin)\
**Post date:** [2020年五月28日 03:16 UTC](https://meta.discourse.org/t/cannot-download-non-image-media-files-original-filenames-lost-when-uploaded-to-s3/152797/6 "2020-05-28T03:16:01Z")

</div>

再仔细看一下，我认为解决方案应该反过来——`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 等）

如果我遗漏了什么，请随时补充更多信息或示例。

---

_[View the full topic](https://meta.discourse.org/t/cannot-download-non-image-media-files-original-filenames-lost-when-uploaded-to-s3/152797)._
