عند النظر إلى هذا مرة أخرى، أعتقد أن الحل هو العكس تمامًا — يجب أن تكون المهمة 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، إلخ)
إذا كنت أغفل شيئًا هنا، فلا تتردد في إضافة مزيد من المعلومات أو الأمثلة.