Download erzwingen?
Bruno dá Gizmo
- sonstiges
0 Patrick2570 FraFu0 Rafael0 Der Martin0 Siechfred
Ist es möglich einen Download zu erzwingen? Viele Dateitypen werden ja automatisch im Browser geöffnet (zB PDF, oft auch MP3 etc.)... gibt es einen Befehl mit dem man erzwingen kann das sich der Benutzer die Datei herunterladen muss?
vielen Dank und lg. aus Salzburg!
Hey,
Ist es möglich einen Download zu erzwingen? Viele Dateitypen werden >ja automatisch im Browser geöffnet (zB PDF, oft auch MP3 etc.)... gibt >es einen Befehl mit dem man erzwingen kann das sich der Benutzer die >Datei herunterladen muss?
Ja, den Imperativ:
Lade <a href="datei.bla">dies</a> herunter!
Im Ernst: Erzwingen kannst Du nicht so viel, aber Du kannst dem Browser Tipps geben, was ihn erwartet und wie er es behandeln sollte. Google mal nach Content Header bzw. Content Disposition.
Gruss,
Patrick
Hallo!
Ist es möglich einen Download zu erzwingen? Viele Dateitypen werden ja automatisch im Browser geöffnet (zB PDF, oft auch MP3 etc.)... gibt es einen Befehl mit dem man erzwingen kann das sich der Benutzer die Datei herunterladen muss?
Nicht wirklich. Das kann jeder User selber entscheiden wie er seinen Broswer konfiguriert, wie dieser mit welchen Mime Type umgehen soll.
Mit mimetype application/octet-stream bist du aber auf der sicheren Seite. Solche Dateien werden im Normalfall zum Download angeboten.
Wenn der Browser trotzdem etwas anderes damit machen möchte, bist du machtlos.
mfg
frafu
Du kannst den Inhalt vor der Ausgabe in eine entsprechende "Sonder-"Datei laden und dort in den header die Vorgabe:
Content-Disposition: attachment; filename=meineDatei
schreien. Achte aber darauf, dass deine Nutzer wirklich nur Interesse daran haben die Datei herunterzuladen, da du sie damit tatsächlich zwingst. Eine andere Möglichkeit wäre die Datei zu packen.
schreien. Achte aber darauf, dass
... Du nicht zu laut schreist ;-)
Ich grüsse den Cosmos,
schreien. Achte aber darauf, dass deine Nutzer wirklich nur Interesse daran haben die Datei herunterzuladen, da du sie damit tatsächlich zwingst.
Also meine Browser machen trotzdem das, was ich ihnen sage. Also PDF wird sofort geöffnet usw.
Eine andere Möglichkeit wäre die Datei zu packen.
Wird bei mit mit WinRAR geöffnet, wenn ich unter Windows arbeite. Aber nur dann, wenn ich es in der Auswahl, die dem Download vorausgeht, so entscheide.
Ergo: Du kannst den Browser nicht zwingen, ausser du sitzt selbst am entsprechenden Rechner.
Möge das "Self" mit euch sein
Also meine Browser machen trotzdem das, was ich ihnen sage. Also PDF wird sofort geöffnet usw.
Alle meine Browser machen wie befohlen (IE, Firefox, Opera) und befinden sich in der Standardeinstellung. Insofern wird einem Großteil der Webseitenbesucher gegenüber der gewünschte Effekt zuteil. Dass alles bei jedem gleich funktioniert und aussihet lässt sich niemals umsetzen, natürlich auch nicht bei solchen Downloads...
Hallo,
nur noch ein Tipp zur Wortwahl:
Ist es möglich einen Download zu erzwingen?
Es ist gar nicht nötig, "einen Download zu erzwingen", weil die Ressource sowieso heruntergeladen werden muss, bevor sie gespeichert, angezeigt, abgespielt, verschickt oder was auch immer werden kann.
Anders ausgedrückt:
Viele Dateitypen werden ja automatisch im Browser geöffnet (zB PDF, oft auch MP3 etc.)...
Genau, und diesem Öffnen geht zwangsläufig ein Download voraus.
Ich habe zwar verstanden, was du eigentlich meinst, weil die Frage hier öfters gestellt wird. Aber ...
gibt es einen Befehl mit dem man erzwingen kann das sich der Benutzer die Datei herunterladen muss?
... ich muss mich da meinen beiden Vorrednern anschließen: Erzwingen kannst du gar nichts. Es wird gelegentlich empfohlen, die Datei als zip-Archiv anzubieten - aber es gibt Browser-Konstellationen, die dann einfach das zip-Archiv direkt öffnen. Es wird auch gelegentlich empfohlen, die Ressource mit dem MIME-Typ application/octet-stream auszuliefern und/oder den HTTP-Header Content-Disposition: attachment hinzuzufügen - aber es gibt _i_rgend_e_inen Browser, der gern mal die MIME-Typen ignoriert und selbst die Nutzdaten untersucht, und dann feststellt, dass er die Ressource ja direkt anzeigen kann.
Kurzum: Es gibt keine zuverlässige Methode. Das beste wird sein, du setzt einen ganz normalen Link und plazierst einen Hinweis daneben, dass man sich das Dokument doch bitte über die Funktion "Ziel speichern" im Kontextmenü speichern möge.
So long,
Martin
Ist es möglich einen Download zu erzwingen?
Darüber wurdest du nun hinreichend aufgeklärt.
gibt es einen Befehl mit dem man erzwingen kann das sich der Benutzer die Datei herunterladen muss?
Es gibt keinen Befehl, es gibt aber die Möglichkeit, über eine Kombination aus MIME-Typ und HTTP-Headern dem Browser aufzufordern, den "Speichern unter..."-Dialog aufzurufen. Anstoßen musst du das Ganze auf Seiten des Servers, entweder durch entsprechende Konfiguration oder durch eine Software. Weitere Hinweise nebst Codeschnipsel gibt's hier:
http://forum.de.selfhtml.org/archiv/2007/2/t146110/#m948302
Siechfred