Wie in html downloading von beliebigen Dateien?
Andreas Küppers
- html
0 Cheatah0 Andreas Küppers0 wahsaga0 Andreas Küppers0 rob
Möchte in Downloading von Open Office-Dateien (.odf) in einer html-Seite anbieten.
Der User soll aber die Datei nicht öffnen müssen.
Wie programmiert man so etwas?
Danke für die Anworten.
Hi,
Möchte in Downloading von Open Office-Dateien (.odf) in einer html-Seite anbieten.
Der User soll aber die Datei nicht öffnen müssen.Wie programmiert man so etwas?
gar nicht, eine Programmiersprache ist nicht nötig - HTML genügt. Setze einen Link auf die entsprechende Ressource.
Cheatah
Nein, dass genügt eben nicht. Der Browser kann z. B. kein Open Office-Dokument lesen. Bei einigen Datei-Typen wie z. B. .pdf kann man den Typ der Datei angeben, dann weis der Browser welches Programm er anweist zu öffnen.
Es geht darum, dass der User die Datei bei Klick auf den Link einfach als Original Open Office Datei herunterlädt und speichert.
Hi,
Möchte in Downloading von Open Office-Dateien (.odf) in einer html-Seite anbieten.
Der User soll aber die Datei nicht öffnen müssen.Wie programmiert man so etwas?
gar nicht, eine Programmiersprache ist nicht nötig - HTML genügt. Setze einen Link auf die entsprechende Ressource.
Cheatah
hi,
Nein, dass genügt eben nicht. Der Browser kann z. B. kein Open Office-Dokument lesen.
Dann wird er es zum Abspeichern anbieten. (Auslieferung durch den Server mit passendem Content-Type vorausgesetzt.)
Bei einigen Datei-Typen wie z. B. .pdf kann man den Typ der Datei angeben, dann weis der Browser welches Programm er anweist zu öffnen.
Mein Browser bietet auch PDFs zum Abspeichern an.
Es geht darum, dass der User die Datei bei Klick auf den Link einfach als Original Open Office Datei herunterlädt und speichert.
Das kann er in jedem Fall - so gut wie jeder Browser dürfte per Kontextmenü o.ä. eine explizite Option "Speichern unter ..." anbieten.
gruß,
wahsaga
hi,
Nein, dass genügt eben nicht. Der Browser kann z. B. kein Open Office-Dokument lesen.
Dann wird er es zum Abspeichern anbieten. (Auslieferung durch den Server mit passendem Content-Type vorausgesetzt.)
Das macht er eben nicht. Er stellt die Seiten als wilder Textsalat dar. Die Speichern-Option bietet er nicht an.
Aber dass wäre meine Wunsch.
Gibt es für (.odc) auch eine Type-Application wie z.B. für eine Excel-Datei: type = "application/msexcel". Damit besteht dann die Möglichkeit, dass die Anwendung beim User direkt geöffnet wird. Diese Option ist nicht mein Ziel. Mein Ziel ist nur "speichern als Original Open Office Datei".
Bei einigen Datei-Typen wie z. B. .pdf kann man den Typ der Datei angeben, dann weis der Browser welches Programm er anweist zu öffnen.
Mein Browser bietet auch PDFs zum Abspeichern an.
Es geht darum, dass der User die Datei bei Klick auf den Link einfach als Original Open Office Datei herunterlädt und speichert.
Das kann er in jedem Fall - so gut wie jeder Browser dürfte per Kontextmenü o.ä. eine explizite Option "Speichern unter ..." anbieten.
gruß,
wahsaga
Hi!
Das macht er eben nicht. Er stellt die Seiten als wilder Textsalat dar. Die Speichern-Option bietet er nicht an.
Aha.
Und warum hast du das Problem nicht gleich anständig beschrieben? Dann hätte man sich einige Postings sparen können.
Das Problem liegt darin, daß die Datei mit falschem Content-Type (oder gar keinem) ausgeliefert wird.
Wie testest du? Liegt die HTML-Seite mit dem Link auf einem Server im Internet oder hast du die direkt in deinem Browser über das Dateisystem aufgerufen?
In zweiten Fall wird die Datei nicht von einem Webserver ausgeliefert und es werden logischerweise gar keine HTTP-Header gesendet.
Alleine mit HTML kannst du auch keinen Content-Type-Header senden.
Das müßte serverseitig realisiert werden. PHP bietet dir da beispielsweise die Funktion header(), die du dazu nutzen könntest.
Gibt es für (.odc) auch eine Type-Application wie z.B. für eine Excel-Datei: type = "application/msexcel". Damit besteht dann die Möglichkeit, dass die Anwendung beim User direkt geöffnet wird. Diese Option ist nicht mein Ziel. Mein Ziel ist nur "speichern als Original Open Office Datei".
Der korrekte MIME-Type für ODC-Files müßte "application/vnd.oasis.opendocument.chart" sein. Die MIME-Types zu anderen OOo-Dokumenten kannst du z.B. dem Wikipedia-Artikel OpenDocument entnehmen.
Schöner Gruß,
rob
Hi!
Das macht er eben nicht. Er stellt die Seiten als wilder Textsalat dar. Die Speichern-Option bietet er nicht an.
Aha.
Und warum hast du das Problem nicht gleich anständig beschrieben? Dann hätte man sich einige Postings sparen können.
Das Problem liegt darin, daß die Datei mit falschem Content-Type (oder gar keinem) ausgeliefert wird.
Wie testest du? Liegt die HTML-Seite mit dem Link auf einem Server im Internet oder hast du die direkt in deinem Browser über das Dateisystem aufgerufen?
In zweiten Fall wird die Datei nicht von einem Webserver ausgeliefert und es werden logischerweise gar keine HTTP-Header gesendet.
Vielen Dank erst einmal für die Hinweise. Ich hatte schon vom Webserver getestet.
Alleine mit HTML kannst du auch keinen Content-Type-Header senden.
Das müßte serverseitig realisiert werden. PHP bietet dir da beispielsweise die Funktion header(), die du dazu nutzen könntest.
Es scheint ja nicht so ganz einfach zu sein, so etwas serverseitig zu realisieren.
Gibt es hierfür keine fertigen Scripts, die ich (als Fast-Laie) einbauen kann.
Noch einmal zu meinem Problem: Ich biete eine Liste von unterschiedlichen Dateitypen an, die man sich dowloaden kann, ohne dass diese geöffnet werden.
Danke.
Gibt es für (.odc) auch eine Type-Application wie z.B. für eine Excel-Datei: type = "application/msexcel". Damit besteht dann die Möglichkeit, dass die Anwendung beim User direkt geöffnet wird. Diese Option ist nicht mein Ziel. Mein Ziel ist nur "speichern als Original Open Office Datei".
Der korrekte MIME-Type für ODC-Files müßte "application/vnd.oasis.opendocument.chart" sein. Die MIME-Types zu anderen OOo-Dokumenten kannst du z.B. dem Wikipedia-Artikel OpenDocument entnehmen.Schöner Gruß,
rob
hi,
Es scheint ja nicht so ganz einfach zu sein, so etwas serverseitig zu realisieren.
In der Konfiguration des Webservers solltest du angeben können, mit welchem Content-Type bestimmte Dateitypen (bspw. basierend auf der Dateiendung) ausgeliefert werden sollen.
Beim Apache bspw. in der httpd.conf, oder auch in einer .htaccess
Noch einmal zu meinem Problem: Ich biete eine Liste von unterschiedlichen Dateitypen an, die man sich dowloaden kann, ohne dass diese geöffnet werden.
Noch einmal zur best pratice: Überlasse dem Nutzer die Entscheidung, ob er solche Ressourcen ggf. über ein Plugin in seinem Browser darstellen, oder abspeichern möchte.
gruß,
wahsaga