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.