Tr1f1: bei Verlinkung auf Worddoc, öffnen verhindern

Hi Leute,

wenn ich auf ein Worddoc oder PDF verlinke wird es immer im Browser geöffnet. Kann man das irgendwie so hinbiegen das er immer SpeichernUnter bringt? (ohne das ich ein zip draus mache)

Merci schonmal für eure Tipps
Tr1f1

  1. Hi,

    wenn ich auf ein Worddoc oder PDF verlinke wird es immer im Browser geöffnet. Kann man das irgendwie so hinbiegen das er immer SpeichernUnter bringt? (ohne das ich ein zip draus mache)

    Ja. Allerdings musst du dazu die HTTP-Header manipulieren (mit einer Skriptsprache, z.B. PHP) und folgenden Header setzen:
    Content-Disposition: attachment

    Der Yeti

    --
    Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
    Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
    Und bin so klug als wie zuvor!
    sh:( fo:| ch:? rl:? br:< n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
    http://community.de.selfhtml.org/fanprojekte/selfcode.htm
    1. Ja. Allerdings musst du dazu die HTTP-Header manipulieren (mit einer Skriptsprache, z.B. PHP) und folgenden Header setzen:

      in dem Fall Serverseitig ?

      1. Hi,

        Ja. Allerdings musst du dazu die HTTP-Header manipulieren (mit einer Skriptsprache, z.B. PHP) und folgenden Header setzen:
        in dem Fall Serverseitig ?

        Da Header vom Server gesendet werden, ja.

        Margin-Auto

      2. Hi,

        Ja. Allerdings musst du dazu die HTTP-Header manipulieren (mit einer Skriptsprache, z.B. PHP) und folgenden Header setzen:

        Genau. In PHP geht es z.B. mit folgendem kleinen Skript:
        <?php
        header("Content-Type: application/msword");
        header("Content-Disposition: attachment; filename=download.doc");
        readfile("original.doc');
        ?>

        In ASP:
        <%
        Response.AddHeader "Content-Type","application/msword"
        Response.AddHeader "Content-Disposition","attachment; filename=download.doc"

        Dim vntStream

        Set oMyObject = Server.CreateObject("MyObject.BinRead")
        vntStream = oMyObject.readBinFile("c:\temp\tempxls.xls")

        Response.BinaryWrite(vntStream)
        Set oMyObject = Nothing
        Response.End
        %>
        (Beispiel ungetestet von Microsoft übernommen, siehe http://support.microsoft.com/default.aspx?kbid=193998)

        Der Yeti

        --
        Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
        Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
        Und bin so klug als wie zuvor!
        sh:( fo:| ch:? rl:? br:< n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
        http://community.de.selfhtml.org/fanprojekte/selfcode.htm
        1. Super Merci...
          hab auch was gefunden...

          http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q260/5/19.ASP&NoWebContent=1

        2. Hallo!

          Genau. In PHP geht es z.B. mit folgendem kleinen Skript:
          <?php
          header("Content-Type: application/msword");
          header("Content-Disposition: attachment; filename=download.doc");
          readfile("original.doc');
          ?>

          Aha. Das bedeutet also, wenn ich eine Seite habe die so aussieht:

          Preisliste.doc         Klick für Download                 Klick zum Öffnen

          Dann müssen die beiden Verweiselemente (Download/Öffenen) auf eine Seite zielen, deren Header aufgrund des angeklickten Verweises entsprechend generiert wird.

          Beste Grüße
          Viennamade

          1. Hi,

            Aha. Das bedeutet also, wenn ich eine Seite habe die so aussieht:

            Preisliste.doc         Klick für Download                 Klick zum Öffnen

            Dann müssen die beiden Verweiselemente (Download/Öffenen) auf eine Seite zielen, deren Header aufgrund des angeklickten Verweises entsprechend generiert wird.

            Gähnau. Du könntest z.B. den Link folgendermaßen gestalten:
            <a href="download.php?file=Preisliste.doc">Klick für Download</a>
            <a href="Preisliste.doc" target="_blank">Klick zum Öffnen</a>

            und download.php dann wie beschrieben (nur dann halt die letzte Zeile austauschen durch: readfile($_REQUEST["file"]);)

            Wobei beim Download dann ja meistens immer noch die Möglichkeit für den Anwender besteht, die Datei zu öffnen und sie nur temporär zu speichern. "Klick zum Öffnen" öffnet im Internet Explorer die Datei im Browserfenster (Plugin).

            Der Yeti

            --
            Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
            Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
            Und bin so klug als wie zuvor!
            sh:( fo:| ch:? rl:? br:< n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
            http://community.de.selfhtml.org/fanprojekte/selfcode.htm
            1. Hallo!

              Alles klar, Danke!
              Viennamade