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.

4 Kommentare:

Anonym hat gesagt…

Klasse!! Nach einer langen Ratlosigkeit, hat es endlich sofort funktioniert :-)

Anonym hat gesagt…

Halleluja! Endlich eine Lösung in Sicht. Danke! :-)

Anonym hat gesagt…

guten tag,
entschuldigung für die dumme frage, aber ich kenne mich auf dem gebiet leider nicht so aus. hab aber genau dieses problem.

wo kann ich diese zeilen eintragen?

vielen dank

Anonym hat gesagt…

Leider funktioniert der Link zu der Lösung (www.downside.ch...) nicht, noch wird die Datei genannt, die man konfigurieren muss.
(... wie in einem früheren Post schon gesagt.)

Schade, den sonst klingt das nach einem sehr guten Lösungsansatz.