rig: Download-Fehler im IE 6

Hallo zusammen,

ich biete eine serverseitig generierte Textdatei zum Download an. Diese Datei wird von den Usern i.d.R. aber nicht gespeichert sondern direkt geöffnet. Im FireFox unter Windows/Linux klappt das super, nur der IE (Version 6.0.2800.xxx) bringt folgende Fehlermeldung:

Fehlerbild

Wenn die Datei zuerst gespeichert wird kann sie danach ohne Probleme geöffnet werden. Ich nutze serverseitig den selben Algorithmus um eine MS-Excel Datei zu generieren. Die läßt sich im IE ohne Probleme öffnen.

Die HTTP-Headers zum obigen Download sehen wie folgt aus (ermittelt mit "Live HTTP Headers" im FireFox):

  
HTTP/1.x 200 OK  
Date: Mon, 05 Mar 2007 12:53:41 GMT  
Server: xxx  
Expires: Sat, 6 May 1995 12:00:00 GMT  
Pragma: no-cache  
content-disposition: attachment; filename="Inhalt.txt"  
Last-Modified: Mon, 05 Mar 2007  01:53:41 GMT  
X-DB-Content-length: 330  
Content-Type: text/plain; charset=WINDOWS-1252  
Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate  
Transfer-Encoding: chunked  
Proxy-Connection: Keep-Alive  
Connection: Keep-Alive  

Die Headers bei der oben genannten XLS-Datei sind bis auf den Dateinamen identisch

Hat jemand eine Idee warum der IE Probleme beim Öffnen der Datei hat?

Danke & Gruß
  rig

  1. Hallo zusammen,

    also wenn ich den MIME-Type auf "application/msword" ändere, ändert sich am Verhalten nichts. Wenn ich den MIME-Type auf "text/plain" belasse und den Dateinamen in "Inhalt.doc" ändere, öffnet der IE die Textdatei ohne meckern mit MS-Word.

    *ARGH*

    Gruß
      rig

    1. Nochmal ich.

      Wenn ich serverseitig den Dateinamen in "Inhalt.qqd" ändere (also eine Endung, die Windows nicht kennt), dann kommt der Windows-Dialog "Womit soll ich die Datei öffnen". Und egal was ich hier auswähle (Notepad, MS-Word, WordPad, etc.): Es kommt immer der Fehler, das sie Datei "Inalt[1].qqd" unter "C:\Winnt...\Content.IE5..." nicht gefunden werden kann.

      Gruß
        rig

      1. Also,

        ich denk ich hab das Problem gefunden: Es liegt an dem Angeben "no-cache" und "no-store" im Abschnitt "Cache-Control" vom HTTP Header. Nimmt man diese beiden Angaben heraus, dann wird, wenn der User auf den Link klickt, die Textdatei in Notepad geöffnet.

        Das Problem ist nun aber, das ab dem 2. Klick nicht mehr der Server nach der Datei gefragt wird, sondern das entsprechende Pendant verwendet wird, welches sich bereits im Cache befindet. Dieses Problem kann man nun "umgehen", indem man in den Link einen weiteren Dummy-Parameter mit hineingeneriert (z.B. die Anzahl der Millisekunden seit Mitternacht).

        Daraus ergibt sich allerdings wiederum ein weiters Problem: Der Ordner "Temporary Internet Files" läuft langsam aber sicher voll, da die Dateien nicht weggeräumt werden. Aber bei den HDD-Größen heutzutage vernachlässige ich diesen Umstand erst einmal. Damit NUR IE-User betroffen sind (*he he he*) frage ich den genutzten Client serverseitig ab und verhindere die Generierung von "no-cache" bzw. "no-store" nur beim IE.

        Gruß
          rig

        PS: Falls jemand auch dieses Problem haben sollte und ggf. eine bessere Lösung hat, bitte posten!