Ergebnis 1 bis 9 von 9

Thema: PDF-Download Link - Datei immer im Browser öffnen

  1. #1
    Contao-Nutzer
    Registriert seit
    16.04.2013.
    Beiträge
    12

    Standard PDF-Download Link - Datei immer im Browser öffnen

    Hallo zusammen!

    Ich versuche krampfhaft einen normalen Link zu einem PDF immer über den Viewer in einem Browsertab öffnen zu lassen (ohne separate Abfrage zum Download).

    In den Inhaltselementen Download/s gibt es dafür extra die Option "Im Browser öffnen". Nur leider kriege ich das bei einem normalen einfachen Link nicht hin.
    Ich habe bereits " type="application/pdf" target="_blank" " mit in den Link eingebaut. Leider ohne Erfolg.

    Wenn ich mir die Links im Quelltext ansehe die die Contao Download-Elemente in diesem Fall erzeugen und meinen Link sehe ich keinen Unterschied.

    Hat einer von euch eine Idee wie Contao das schafft die Dateien direkt im Browser öffnen zu lassen?


    Vielen Dank im Voraus!

    VG,
    Micha

  2. #2
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.614
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich würde denken, das ist eine Einstellung des Browsers.
    Beispielsweise beim Firefox sind Anwendungen definiert, die für bestimmte Dateitypen aufgerufen werden sollen, dann gibt es noch die Einstellung, ob Fragen oder Speichern.

  3. #3
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Ich nehme an, daß beim Inhaltselement Download/s die Datei nicht direkt verlinkt ist (und damit direkt vom Server ausgeliefert wird), sondern noch ein PHP-Skript dazwischen steht, das die Datei ausliefert. Dieses kann dann noch geeignete Heder setzen.

    Edit: was spricht dagegen, das Downloads Element zu verwenden?
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  4. #4
    Contao-Nutzer
    Registriert seit
    16.04.2013.
    Beiträge
    12

    Standard

    Der Link zur PDF wird aus einer Datenbank (CatalogManager) erzeugt und nutzt sogar das ce_download-Template.

    Interessant ist, sobald ich das Modul zur Anzeige der Datensätze mit den generierten Links im Artikel einfüge, funktioniert bei normalen Download-Elementen in diesem Artikel die Funktion "im Browser anzeigen" auch nicht mehr. Entfernt man das Datenbank-Modul aus dem Artikel (ausblenden reicht nicht), gehts wieder.

    Wenn man sich die Links (die aus der Datenbank und die aus einem normalen Download-Element) anschaut sehe die identisch aus. Ich hab momentan keine Ahnung wie Contao das macht.

    Die Funktion "im Browser anzeigen" bei Download-Elementen funktioniert unabhängig von Browser-Einstellungen. Daran kanns also nicht liegen.

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Zitat Zitat von info@mg-2.de Beitrag anzeigen
    Ich hab momentan keine Ahnung wie Contao das macht.
    Es werden entsprechende Response Header gesetzt: https://github.com/contao/contao/blo.../File.php#L787
    » sponsor me via GitHub or PayPal or Revolut

  6. #6
    Contao-Nutzer
    Registriert seit
    16.04.2013.
    Beiträge
    12

    Standard

    Interessant!

    Kann ich das bei eigenen Download-Links auch nutzen?

  7. #7
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Wenn Du „nur“ einen Link hast, dessen Ziel durch den Webserver (Apache, …) direkt ausgeliefert wird, dann nicht, da in dieser Situation PHP (Contao) gar nicht ins Spiel kommt.

    Edit: vielleicht könnte man den selben Effekt auch durch eine geeignete Regel in der .htaccess erreichen (Header setzen, falls REQUEST_URI mit .pdf aufhört) das würde dann aber für alle PDF-Dateien gelten und könnte nicht mehr — wie im Download Inhaltselement — individuell konfiguriert werden.

    In etwa so (ungetestet):
    PHP-Code:

    <If "%{REQUEST_URI} =~ /\.pdf$/">
      
    Header set Content-Disposition "Inline"
    </If> 
    Geändert von fiedsch (18.09.2023 um 06:38 Uhr)
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  8. #8
    Contao-Nutzer
    Registriert seit
    16.04.2013.
    Beiträge
    12

    Standard

    Meine PDF-Downloadlinks werden aus einer Datenbank (CatalogManager) erzeugt und nutzen ein angepasstes Template ce_download.html5 wo die URL per "<?= $this->href ?>" eingefügt wird.

    Wie kann ich das damit umsetzen?

    Vielen Dank im Voraus für eure Hilfe!

  9. #9
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Wie schon ausgeführt, durch HTML Code in einem Template alleine gar nicht. Es müssen noch die geeigneten Header gesetzt werden.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •