Freitag, 17. April 2009

IE 8: 'Die Datei konnte nicht in den Zwischenspeicher geschrieben werden'

P1080645b Heute meldete sich eine Nutzerin unserer Dienste, die ein Problem beim Download einer Worddatei aus unseren Webseiten hat. Sie verwendet den Internetexplorer (Version und Betriebssystem unbekannt). Das Problem lässt sich aber im MSIE 8.0.6001 unter Windows XP nachvollziehen.

Eingrenzung 1: Problem nur mit SSL

Mit einer neu angelegten Testdatei kann das Problem ebenfalls verifiziert werden, es liegt also nicht an der speziellen Datei, welche die Nutzerin verwendet hat. Allerdings tritt das Problem nur dann auf, wenn der Zugriff auf die Webseite per SSL (HTTPS) erfolgt. Bei einem HTTP Zugriff gibt es kein Problem.

Eingrenzung 2: Problem nur mit bestimmten Formaten

Das Problem tritt mindestens auf bei Word (Endung *.doc) und PDF Dateien (Endung *.pdf). Bei Bilddateien (Endung *.jpeg) tritt es nicht auf.

Internetquellen

Es gibt eine Microsoft Seite, welche sich um ein ähnliches (identisches?) Problem kümmert, allerdings nur bis zum IE 6 reicht.

By the way: diese Seite ist ein interessantes Beispiel für die manchmal rätselhaften Ergebnisse automatischer Übersetzungen. So kann man über Wortschöpfungen wie ‘Cache-control:no- speichert’ grübeln:)

Hier ist noch eine englische MS Seite, die das Thema behandelt (auch nur bis zum IE 6).  Eine erhellendere Beschreibung findet man in the downside.

Lösung

Wie in dem von the downside zitierten Blog beschrieben folgende Zeilen in das Servlet eingefügt:

response.setHeader("Content-Disposition", "attachment; filename=\"" + dateiName + "\"");
response.setHeader("Pragma", "public");
response.setHeader("Cache-Control", "max-age=0");

Damit funktioniert es dann im IE 8 und auch weiterhin im Firefox und Chrome.

Kommentar veröffentlichen