Wenn ich mir das noch einmal ansehe, denke ich, dass die Lösung genau umgekehrt ist – die Aufgabe uploads:migrate_to_s3 sollte if !FileHelper.is_supported_media?(name) lauten. Es ergibt keinen Sinn, bei Videos und Audiodateien den Header content-disposition: attachment; filename=X zu setzen. Diese Dateien werden doch innerhalb eines Discourse-Beitrags gestreamt, nicht heruntergeladen, oder?
Also wäre das gewünschte Verhalten:
Kein Header content-disposition: attachment
- Bilder
- Videos
- Audiodateien
Header content-disposition: attachment mit Originaldateiname
- Alle anderen Anhänge/Uploads (PDF, TXT, CSV usw.)
Falls ich etwas übersehe, fügen Sie gerne weitere Informationen oder Beispiele hinzu.