Downloads
Amel
- javascript
Auf Selfhtml steht, dass man Dateien einfach bloß so verlinken muss, um sie zum Download anzubieten. Müssen diese Dateien als .zip gespeichert werden.?
Grundsäztlich nein. Es kann aber passieren das z.Bsp. .doc Dateien eben in Word geöffnet werden.
Gruß Rainer
Hallo,
»» Müssen diese Dateien als .zip gespeichert werden?
Grundsäztlich nein. Es kann aber passieren das z.Bsp. .doc Dateien eben in Word geöffnet werden.
... oder zip-Archive im dafür vorgesehenen Programm. Nach dem Download, versteht sich!
Das Problem ist, dass man als Webautor nie voraussehen kann, wie ein Client auf eine "gewöhnliche" Verlinkung reagieren. Der Client ruft die verlinkte Ressource vom Server ab und entscheidet dann anhand des MIME-Typs[1], den der Server angibt, was er mit der heruntergeladenen Datei tun soll.
Ressourcen vom Typ text/html oder image/jpeg wird er beispielsweise ohne Umschweife direkt anzeigen, bei vielen anderen Typen kommt es aber tatsächlich darauf an, ob ein Programm sich als "zuständig" für diesen Typ registriert hat. Gern werden etwa auch PDF-Dateien nach dem Download direkt angezeigt, sei es per Browser-Plugin oder im externen Anwendungsfenster.
In der Tat gibt es aber auch einen MIME-Typ, der eigentlich aussagt: "Keine Ahnung, was das ist". Das ist der Typ application/octet-stream, und den wird der Server immer dann setzen, wenn er selbst den Typ der Ressource nicht bestimmen kann. Der Client kann's dann auch nicht und bietet als einzige Option an, die Datei lokal zu speichern. Öffnen geht nicht, er weiß ja nicht womit.
Deswegen ist das Verpacken in ein zip-Archiv ein probates Mittel, um den MIME-Typ application/octet-stream quasi "hintenrum" zu erreichen. Sauberer ist es natürlich, wenn man ihn mit einem Download-Script selbst als HTTP-Header setzt. Das erfordert aber ein serverseitiges Script (häufig PHP) und ist daher nicht in jedem Webhosting-Paket möglich[2] oder der Betreiber möchte diesen Umweg nicht gehen.
Nebenbei bemerkt war JAVASCRIPT als Themengebiet aber sowas von falsch gewählt, weil Javascript auf derlei Vorgänge überhaupt keinen Einfluss hat.
So long,
Martin
[1] Der Internet Explorer ist dafür bekannt, dass er den MIME-Typ nicht so ernst nimmt und stattdessen gern mal selbst die Daten analysiert und dann Vermutungen über den Typ anstellt.
[2] Nahezu jedes Webhosting-Paket, auch das billigste, bietet heutzutage PHP-Unterstützung. Das gilt aber selten für das Gratis-Hosting, das die Zugangsprovider gern als Dreingabe anbieten.