it-swarm.com.de

Wie richte ich Download-Links für PDF-Dateien direkt ein?

enter image description here

Ich möchte eine PDF-Datei über ein Dateifeld für einen Inhaltstyp hinzufügen, einen Download-Link anzeigen und, wenn der Benutzer auf klickt, diese wie bei einem normalen Download auf Ihrem Computer speichern.

3
daniel

Probieren Sie das Modul DownloadFile aus. Ändern Sie in Ihrem Inhaltstyp den Formatierer für die Feldanzeige, um eine Datei herunterzuladen oder was auch immer Ihren Anforderungen entspricht.

3
arpitr

Hinweis: Ich konnte das File Force Download-Modul nicht verwenden, da es nur außerhalb von Feldern funktioniert. Ich hatte Dateien mit IMCE hochgeladen und hatte regelmäßige Links im Inhaltstext zu diesen privaten Dateien. Also musste ich den Header festlegen über Apaches Seite über die httpd.conf oder .htaccess mit den obigen Antworten ... Sie können dies auch mit einem Modul tun, mit dem ich am Ende angefangen habe:

<?php
function mymodule_mimetype_override_file_mimetype_mapping_alter(&$mapping) {  
  $new_mime_type = 'application/octet-stream'; //already in mimetypes so below array addition wont happen, but put here in case you want to add your own type

  if ( !in_array($new_mime_type, $mapping['mimetypes'])) {
    $mapping['mimetypes'][] = $new_mime_type; //mapping['mimetypes']['octetstream']
  }
  $index = array_search($new_mime_type, $mapping['mimetypes']);
  $mapping['extensions']['pdf'] = 15; //manually setting for now, could have used $index; //15 is octet-stream, 18 is pdf
}

//also added this for my HTTPS site since IE8 couldnt download/display any files if it doesn't have certain cache headers for ssl websites ... heh, booooooo
function mymodule_override_file_download($filepath) {
  header("Cache-Control: private, must-revalidate"); //may have to set Pragma too but not in my case
}
0

Wenn Sie Zugriff darauf haben, erzwingt das Platzieren des folgenden Snippets in der .htaccess-Datei Ihrer Site das Herunterladen in vielen neueren Browsern, aber Clive ist korrekt: Dies funktioniert nicht für alle (aufgrund der Benutzereinstellungen und auch nicht aller Geräte und Browser) diese Einstellung). Die folgende Syntax gilt für Apache unter LINUX. Möglicherweise müssen Sie sie für eine Windows-Umgebung anpassen. Ich wünschte, ich wüsste, wie ich das auf iPhones zum Laufen bringen kann (wenn jemand weiß - sag es!). Ich bin mir sicher, dass es eine viel elegantere Möglichkeit gibt, Dateierweiterungen in Groß- und Kleinbuchstaben zu behandeln (hey - ich mache das nach, während ich fortfahre;)

<FilesMatch "\.(mov|mp3|jpg|pdf|MOV|MP3|JPG|PDF)$">
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</FilesMatch>
0
Anne Bonham

Aktivieren Sie das Modul "Datei" (bereitgestellt von Drupal Distr)). Gehen Sie dann zu den Inhaltstypen (in Struktur), fügen Sie einen neuen Inhaltstyp hinzu oder wählen Sie einen der vorhandenen aus.

Nach dem Speichern des Inhaltstyps siehe " Felder verwalten". Fügen Sie ein neues Feld hinzu (Fülletikett und Feldname), wählen Sie Typ dieser = Datei und klicken Sie auf Speichern. Füllen Sie dann in Erweiterungen PDF aus und geben Sie den Speicherort ein.

Versuchen Sie nun, diesen Inhaltstyp zu erstellen. PDF-Dateien ist verfügbar. Nach dem Speichern sehen Sie einen direkten Link zum Herunterladen. Wenn Sie ihn nicht sehen, besuchen Sie den Inhaltstyp und aktivieren Sie "Manage display "tab.

Entnommen aus der Quelle https://stackoverflow.com/questions/7708452/how-do-i-setup-download-links-for-pdf-files

und auch wenn Sie den Benutzer zum Herunterladen zwingen möchten, verwenden Sie dieses Modul File Force Download

File Force Download kann verwendet werden, um den Webbrowser des Benutzers zu zwingen, die Datei auf die Festplatte herunterzuladen, anstatt sie im Browserfenster anzuzeigen.

Webbrowser sind heute vorkonfiguriert, um verschiedene Medientypen direkt zu rendern, z. B. Textdateien, verschiedene Bild-, Video- und Audioformate, PDF Dokumente und Flash-Filme) Speichern Sie solche Dateien anschließend, indem Sie mit der rechten Maustaste darauf klicken und "Speichern unter" auswählen. Manchmal ist es wünschenswert, die Datei zunächst nur zum Herunterladen anzubieten. File Force Download löst dieses Problem, indem eine Datei mit bestimmten HTTP-Headern bereitgestellt wird Weisen Sie den Webbrowser an, die Datei auf die Festplatte des Benutzers herunterzuladen, anstatt sie in einem Browserfenster anzuzeigen.

0
Bala