2 Stimmen

IE6 hängt "hilfreich" ein Suffix an die heruntergeladene Datei an

Eine Webanwendung, die ich entwickelt habe, ermöglicht es Benutzern, eine Art von Datei hoch- und herunterzuladen, die als undurchsichtiger Blob behandelt werden soll. Meine Anwendung bietet diese Datei mit einer Dateierweiterung an, die normalerweise nicht für andere Zwecke verwendet wird, und gibt als MIME Content-Type application/octet-stream an.

Intern ist die Datei ein einfaches Zip-Archiv, das eine einzige komprimierte Datei enthält. Ich habe festgestellt, dass der IE6 offenbar den Inhalt der Datei untersucht, feststellt, dass es sich um ein Zip-Archiv handelt, und es "hilfreich" mit einer zusätzlichen ".zip"-Erweiterung speichert. Unglaublich!

Wie ich bereits erwähnt habe, soll diese Datei undurchsichtig sein, und wir wollen nicht, dass die Benutzer in der Datei herumstöbern - nicht, weil sie gefährlich wäre oder sensible Informationen enthielte, wir wollen sie nur nicht verwirren. Ich habe vorgeschlagen, dem Zip-Inhalt eine magische Zahl voranzustellen, um zu verhindern, dass der IE6 die Datei erkennt, aber mein Vorgesetzter sagt, er würde es vorziehen, wenn der Inhalt der Datei unverändert bliebe, so dass sachkundige Personen die Datei umbenennen und ihren Inhalt bei Bedarf als Zip-Archiv untersuchen können.

Gibt es eine Möglichkeit, dem IE6 zu sagen, dass er seine Finger von der Datei lassen soll? Oder gibt es überhaupt einen alternativen Ansatz? (Leider ist es keine Option, IE6 überhaupt nicht zu unterstützen).

Übrigens respektiert der IE7 den Namen der Datei, identifiziert sie aber im Download-Dialog als Zip-Archiv. Das ist besser als IE6, aber immer noch nicht ideal.

4voto

Byran Zaugg Punkte 957

Kurze Antwort: Fügen Sie Ihrem Webserver die richtigen MIME-Typen hinzu, damit der IE6 den Dateityp nicht errät.

Lange Antwort :

Bei meiner Arbeit gab es ein ähnliches Problem mit Microsoft PowerPoint-Dateien.

.ppt vs. .pps - Das sind identische Dateien mit unterschiedlichen Erweiterungen. Wir wollten, dass der Benutzer eine Show (.pps) anschaut, aber der IE6 änderte sie immer wieder in .ppt. Er änderte die Endung, weil auf dem Rechner des Benutzers PowerPoint installiert war und die Datei wie eine .ppt aussah. Ich verstehe nicht, warum nicht .pps.

Das Problem bestand neben dem IE6 darin, dass unser Webserver (IIS) die MIME-Typen für .pps und .ppt nicht kannte. Wir mussten also die richtigen MIME-Typen hinzufügen, damit der Server sie nicht als "application/octet-stream" ausliefert. Ich weiß, dass IE6 bei Verwendung von "application/octet-stream" versucht, den MIME-Typ zu erraten.

Also haben wir hinzugefügt:

.pps = "application/vnd.ms-powerpoint"
.ppt = "application/vnd.ms-powerpoint"

Jetzt funktioniert es auch mit IE6.

Ich hoffe, dass dies zur Lösung Ihres Problems beiträgt.

1voto

roman Punkte 10867

Dieses Header-Flag verwenden: Inhalt-Disposition: Anhang; Dateiname="IhrDateiname.extension"

1voto

jball Punkte 24210

Dies ist eine bekanntes Problem und die einzige Lösung ist es, die Registrierung des Client-Computers zu bearbeiten, was Ihnen sicher nicht viel nützt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X