Durch IIS Rewrite PDF-Dateien im Browser öffnen

Im Standard der Matrix42 ESM Umgebung ist es so, dass PDF-Dateien, die z.B. als Anhang eines Tickets hochgeladen sind, bei einem Klick heruntergeladen, anstatt angezeigt zu werden.

Heruntergeladene PDF Datei

Schuld daran ist der Header, der von der Matrix42 File-API gesendet wird:

Content-Disposition und Type Header des IIS für PDF Dateien

Dieser weist den Browser an, die Datei herunterzuladen.

Nachdem wir bereits IIS-Themen wie Hostname zu FQDN umleiten & Single Sign on in Matrix42 aktivieren behandelt haben, will ich dir nun zeigen, wie du das ganze ändern und PDF-Dateien direkt im Browser öffnen kannst!

Achtung: Eigene Rewrite-Regeln sind unter Umständen nicht offiziell von Matrix42 unterstützt, im Zweifel direkt beim Hersteller oder deinem Partner nachfragen!

IIS öffnen & Rewrite Regel anlegen

Öffne zuerst mal die URL Rewrite Regeln im IIS.

IIS Url Rewrite öffnen

Lege anschließend über die rechte Seitenleiste “Actions” via “Add Rule(s)” eine neue Outbound Rule vom Typ “Blank rule” an.

Neue Outbound Rule anlegen

Condition erstellen

Nachdem wir einen Namen wie in meinem Beispiel “SetPDFContentType” vergeben haben, müssen wir erst mal eine neue Precondition erstellen.

Namen vergeben und Precondition erstellen

Mit dieser Precondition stellen wir sicher, dass die Regel(n) nur unter unseren eingestellten Bedingungen die Header modifiziert.

Rewrite Condition für PDF Dateien
In unserem Fall prüfen wir, ob im Header “Content-Disposition” am Ende pdf steht. Somit sind wir ziemlich sicher, dass es sich bei dem Request um die Anforderung einer PDF-Datei von der File-API handelt.

Parameter der Condition:

  • Condition Input: {RESPONSE_Content-Disposition}
  • Check if input string: Matches the Pattern
  • Pattern: .*pdf

Rewrite-Regel(n) anlegen

Soweit so gut, nun haben wir also die Condition für unsere beiden Regeln. Da wir noch im Erstellungsbildschirm für die Regel ” SetPDFContentType” sind, fangen wir mit dieser an.

SetPDFContentType

Rewrite Regel Set PDF Content Type
Precondition IsPDF
Matching ScopeServer Variable
Variable nameRESPONSE_Content-Type
Variable valueMatches the Pattern
UsingRegex
Pattern.*
ConditionsKEINE
ActionRewrite
Valueapplication/pdf

SetPDFInlineView

Nun noch brauchen wir eine weitere neue ausgehende Regel, die den Header so modifiziert, dass die PDF “inline” angezeigt wird und nicht als “attachment” behandelt wird.

Rewrite Regel Set PDF Inline View
Precondition IsPDF
Matching ScopeServer Variable
Variable nameRESPONSE_Content_Disposition
Variable valueMatches the Pattern
UsingRegex
Patternattachment;(.*)
ConditionsKEINE
ActionRewrite
Valueinline; {R:1}

Ergebnis

Das sollte es schon gewesen sein! Wenn du nun die PDF-Anhänge anklickst, sollten diese direkt in einem neuen Tab geöffnet werden und nicht wie bisher als Download gespeichert werden.
0
Falls es bei dir nicht klappt, sag gerne Bescheid!x

Weitere Ressourcen zum Thema IIS-Rewrite und PDF-Dateianzeige:

morpheus42 Icon

Hallo 👋
Schön, dich zu treffen.

Trag dich ein, um neue ESM-Beiträge direkt in deinen Posteingang zu bekommen!

Wir senden keinen Spam! Erfahre mehr in unserer Datenschutzerklärung.

Foto des Autors
Autor
Simon
Gründer von morpheus42, ESM Senior Consultant, Kaffee-Suchtie & Smart Home Fanatiker. A wise man once said: "Have you cleared the Cache?"

Abonnieren
Benachrichtige mich bei
guest
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
Alle Kommentare anzeigen
Send this to a friend