Andreas Küppers: Wie in html downloading von beliebigen Dateien?

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.

  1. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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

      1. 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

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. 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

          1. 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

            1. 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

              1. 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

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }