Downloadlinks liefern falsches File
am 20.01.2009 - 15:12 Uhr in
Hallo Drupaler
Ich habe für einen Kunden eine Homepage mit Drupal erstellt. Der Kunde kann über das Standarduploadmodul von Drupal PDFs hochladen und verlinkt diese dann mit dem angegeben Pfad mit TinyMCE (Link Plugin).
Wenn man danach auf den erstellten Link klickt und das File im Browser begutachtet ist dies kein Problem. Es wird korrekt geladen und dargestellt. Jedoch wenn man das File herunterladen will (Rechtsklick auf den Link usw.) wollen Firefox, IE und Safari immer die index.php Datei herunterladen. Wenn man dies macht und danach das File auf .pdf ändert erscheint das richtige PDF.
Aber das kann man den Websiten-Besuchern nicht zumuten...
An was könnte dies liegen? Vielleicht am Server (IIS Server) liegen?
Danke im Voraus
Lakai
- Anmelden oder Registrieren um Kommentare zu schreiben
filename
am 20.01.2009 - 15:22 Uhr
Moin!
Hast Du die Methode zum Ausliefern von Dateien in Drupal auf "privat" gestellt? Wenn ja würde ich vermuten, dass der folgende Eintrag irgendwo im Kern fehlen könnte:
header("Content-Disposition: attachment; filename=\"" . basename($file) . "\"");
Damit wird den Browsern nämlich mitgeteilt, wie die anzuzeigende Datei heissen soll. Wenn der Eintrag fehlt, wird (meistens) der Name der Datei genommen, die aufgerufen wurde. In diesem Fall also die index.php.
hth,
Stefan
PS: schnell mal in upload.module reingeschaut. Ja, "content-disposition: attachment" fehlt in
function upload_file_download($filepath)
. Könnte ein Bug sein.Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Ok, das könnte der Fehler
am 20.01.2009 - 15:53 Uhr
Ok, das könnte der Fehler sein. Nur komisch, dass bei meinen letzten Homepages dies nie abgeändert werden musste. Kann man dies auch allgemein fassen? Nicht, dass der Kunde jedes mal in Quelcode das File eintragen muss? Oder müsste ich eine Funktion schreiben, der die Filenamen da reinschreibt?
Danke
Lakai