Differenzieren Sie nginx Verhalten je nach URL
-
22-08-2019 - |
Frage
Ich habe eine Django-Anwendung und ich verwende nginx statische Inhalte zu dienen. Leider erhalten alle registrierten MIME-Typen in Client-Browser angezeigt, während ich eine Möglichkeit geben, herunterladen möchte den gleichen Inhalt , zusammen mit üblichen Verhalten. Sagen Sie, ich habe JPEG-Datei unter /media/images/image01.jpg
und ich möchte, dass nginx diese Datei in üblicher Weise dient, mit Standard image/jpeg
Header, sondern zusätzlich möchte ich die gleiche Bild von nginx mit content-disposition: attachment
bedient werden (effektiv zwingen Inhalt Download), wenn zugegriffen wird, wie, sagen wir, /downloads/images/image01.jpg
. Jeder kann eine Lösung vorschlagen?
Lösung
Stellen Sie sicher, dass Sie die http_headers_module in kompiliert haben. (Standard sein soll, wenn es nicht im Kern)
Verwenden Sie "add_header Content-Disposition attachment;"
Ich empfehle eine URL wie „/download?file=/downloads/images/image01.jpg“ kombiniert mit einer Rewrite-Regel mit später einigen lästigen Fehler zu vermeiden.