IE, download und https

Erkenntnise des Tages:

Der Internet Explorer mag keine Dateidownloads, wenn https genutzt wird und bestimmte header genutzt werden. Firefox und Opera sind da weniger kritisch.

vereinfachtes Beispiel:

  header("Content-Type: application/msexcel");
  header("Content-Disposition: attachment; filename=export.xls");
 

kann funktionieren, wenn das genutzte Framework oder die Anwendung sonst keine Header setzt. Werden allerdings Header gesetzt, die das Cache Verhalten steuern, bietet der IE anstatt des in Content-Disposition festgelegten Dateinamens den Scriptnamen für das zu downloadende File an oder verweigert gleich ganz die Funktion.
Behoben haben wir das Ganze, in dem die folgenden Header mitgeschickt werden:

  header('Pragma: private');
  header('Cache-control: private, must-revalidate');
 

Um die kompletten Header, die der Webserver zum Browser schickt, verfolgen zu können, empfiehlt sich die Firefox Extension LiveHttpHeaders.
Tags für diesen Artikel: , ,
Kategorie: Work
Trackbacks

Trackback-URL für diesen Eintrag

Keine Trackbacks
Kommentare
avatar

Ronny

08/21/2009 11:15

*Danke für den Tipp mit den richtigen Headern. Hatte auch schon etliche Kombinationen probiert. Mit den 4 Linien, die oben stehen hat es nun geklappt.
Kommentar schreiben



Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

BBCode-Formatierung erlaubt
Pavatar/Gravatar/Favatar/MyBlogLog/Pavatar Autoren Bilder werden unterstützt.