Zoltan: Downloadlink

Hallo,

gibt es eine einfache Möglichkeit, den Browser dazu zu zwingen, dass er beim clicken auf einen Link die Dialogbox Öffnen/Speichern öffnet und nicht den Link selbst ?? (Ich möchte auf eine pdf-Datei verweisen, die aber nicht geöffnet werden soll, sondern gespeichert)

MfG Zoltan

  1. Hallo,

    gibt es eine einfache Möglichkeit, den Browser dazu zu zwingen, dass er beim clicken auf einen Link die Dialogbox Öffnen/Speichern öffnet und nicht den Link selbst ?? (Ich möchte auf eine pdf-Datei verweisen, die aber nicht geöffnet werden soll, sondern gespeichert)

    ich glaube nicht.
    Lösungen:
    a) du schreibst zu dem Link, das man bitte die rechte Maustaste drücken und "Ziel speichern unter" wählen soll
    b) du machst aus der *.pdf Datei eine *.zip Datei

    mfg NAG

    --
    signatur
  2. Hi

    gibt es eine einfache Möglichkeit, den Browser dazu zu zwingen,

    Nein, zum Glück nicht.

    Gruss
    chlori

  3. Hallo Zoltan.

    gibt es eine einfache Möglichkeit, den Browser dazu zu zwingen, dass er beim clicken auf einen Link die Dialogbox Öffnen/Speichern öffnet und nicht den Link selbst

    Nein, nicht mit HTML. Du könntest dem Client einen Inhaltstypen anbieten, der die meisten Browser dazu veranlassen sollte, den Nutzer zu fragen, was mit der Datei geschehen soll. Hierzu müsstest du dich einer serverseitigen Technik bedienen, such mal im </archiv/> nach den Stichworten "Content-type" und "application/octet-stream".

    Freundschaft!
    Siechfred

  4. gibt es eine einfache Möglichkeit, den Browser dazu zu zwingen, dass er beim clicken auf einen Link die Dialogbox Öffnen/Speichern öffnet und nicht den Link selbst ?? (Ich möchte auf eine pdf-Datei verweisen, die aber nicht geöffnet werden soll, sondern gespeichert)

    versuchs mal damit: (falls Du einen Apache mit der entsprechenden Konfiguration laufen hast)
    anlegen einer .htaccess datei mit dem Inhalt:

    AddType   application/octet-stream  .pdf

    dies sollte bewirken, dass PDF-Dateien vom Server mit einem anderen mime-type gesendet werden.

  5. Hallo Zoltan,

    gibt es eine einfache Möglichkeit, den Browser dazu zu zwingen, dass er beim clicken auf einen Link die Dialogbox Öffnen/Speichern öffnet und nicht den Link selbst ?? (Ich möchte auf eine pdf-Datei verweisen, die aber nicht geöffnet werden soll, sondern gespeichert)

    Anders, als behauptet wurde: JA - das kann erzwungen werden!
    Anders als auch noch behauptet, hat es nichts mit dem Mime-Type zu tun!

    So bringt ein etwaiger Header Conten-Type: application/octet-stream keinerlei Dialogboxen, sondern liefert ein Datenstrom direkt an den Browser:

    <?php
     header('Conten-Type: application/octet-stream');
     readfile('logo.gif');
     ?>

    Dennnoch hat es mit den vom Server sersandten Headern zu tun:

    <?php
     header('Content-Type: application/pdf');
      # wobei die Angabe des richtigen Mime-Types sogar sehr hilfreich ist,
      # um dem Browser mitzuteilen, welche Anwendung er im Dialog anbieten kann
     header('Content-Disposition: attachment; filename="meine.pdf"');
      # das ist der Grund, warum ein Dialog stattfindet
     readfile('ein_anderer_name.pdf');
     ?>

    Gruß aus Berlin!
    eddi

    1. Hallo XaraX.

      Anders, als behauptet wurde: JA - das kann erzwungen werden!

      Ich für meinen Teil bleibe dabei: nein, man kann den Browser nicht _zwingen_.

      Anders als auch noch behauptet, hat es nichts mit dem Mime-Type zu tun!

      Doch, denn im Gegensatz zu "Content-type" ist "Content-disposition" nach RFC2616 kein für HTTP 1.1 gültiger Header:

      http://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html#sec15.5

      Ein Browser, der sich daran hält, sollte anhand des MIME-Typen entscheiden, was er mit den angebotenen Daten macht. Wird application/octet-stream angeboten, bedeutet dies in aller Regel, dass der Browser erkennt, dass er Daten angeboten bekommt, die er nur speichern kann, etwas anderes kann er damit nicht anfangen. Anders bei application/pdf, hier sollte er, wenn ein entsprechendes PlugIn vorhanden ist, die Datei zur Ansicht öffnen.

      Im übrigen wird "Content-Disposition" zwar geduldet, jedoch nur zur Übergabe des Dateinamens an den Browser. Ein Browser _soll_, wenn er "Content-Disposition: attachment" in Verbindung mit "Content-Type: application/octet-stream" übermittelt bekommt, den "Speichern"-Dialog öffnen, ergo kommt der Angabe des MIME-Typen "application/octet-stream" schon eine entscheidende Bedeutung zu:

      http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1

      Es mag schon sein, dass neuere Browser sich in der Regel so verhalten, wie du beschrieben hast, jedoch haben insbesondere ältere Browser (z.B. der IE 5.5) meines Wissens nach Schwierigkeiten mit "Content-Disposition: attachment".

      Freundschaft!
      Siechfred

      1. Hallo,

        Anders, als behauptet wurde: JA - das kann erzwungen werden!

        Ich für meinen Teil bleibe dabei: nein, man kann den Browser nicht _zwingen_.

        Nehme ich hiermit demütig zurück :)

        Anders als auch noch behauptet, hat es nichts mit dem Mime-Type zu tun!

        Doch, denn im Gegensatz zu "Content-type" ist "Content-disposition" nach RFC2616 kein für HTTP 1.1 gültiger Header:

        http://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html#sec15.5

        Nehme ich hiermit in der dahingeschriebenen Allgemeingültigkeit zurück.

        http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1

        In Verbindung mit http://www.ietf.org/rfc/rfc1806.txt ist ersichtlich, daß es eindeutig nicht zum Standart gehört. Rate aber weiterhin zur Nutzug dieses Headers, um keine Überraschungen (mozilla => linux) zu erleben.

        Gruß aus Berlin!
        eddi