У меня есть приложение Django, и я использую nginx для обслуживания статического контента. К сожалению, все зарегистрированные типы MIME отображаются в клиентском браузере, в то время как я хотел бы дать возможность загрузить то же содержимое, а также обычное поведение. Скажем, у меня есть файл JPEG под /media/images/image01.jpg
, и я хочу, чтобы nginx обслуживал этот файл обычным способом, со стандартным заголовком image/jpeg
, но дополнительно хочу то же самое изображение, которое будет обслуживаться nginx с content-disposition: attachment
(эффективно заставляя загружать контент) при доступе к нему , скажем, /downloads/images/image01.jpg
. Кто-нибудь может предложить решение?Различают поведение nginx в зависимости от URL
2
A
ответ
6
Убедитесь, что вы имеете http_headers_module скомпилированный в (должно быть по умолчанию, если он не находится в ядре)
Использование. «Add_header прикрепление контента распоряжения;»
Я рекомендую использовать URL-адрес, например «/download?file=/downloads/images/image01.jpg», в сочетании с правилом перезаписи, чтобы избежать некоторой досадной ошибки позже.
Почему и как бы вы использовать URL с параметрами запроса? Чтобы предоставить файлу неправильное имя файла для пользователя? – iny
Спасибо, вот и все. – zgoda
Причиной использования URL-адреса с параметрами запроса является указание nginx только принудительно загружать при использовании/загрузке? File = {filename} Правильно используя правило перезаписи, вы можете добавить заголовок и все еще выполнять остальные правила в Конфигурация nginx. – epochwolf