PlugIn umgehen
-
Hi,
ich hab da nen Button:<input type="button" value="PDF-Version" onclick="oeffnen('pdf')">
Wie man leicht erraten kann, ist der Button dazu da, eine PDF-Datei herunterzuladen. Gut, "öffnen()" sieht so aus:
function oeffnen(ext) { window.location.href = "Downloads/LinOpt." + ext; }
Wenn ich jetzt aber auf den Button klicke, dann erscheint die Datei im Browser-Fenster mit dem AcrobatReader als PlugIn. Das will ich aber nicht. Der soll das direkt runterladen. Weiß jemand, wie das geht?
-
Musst du dann wohl entweder zippen, oder mith PHP oder Perl oder... die header und Daten selbst schicken
-
nicht mit javascript.
wenn du die datei runterladen willst, musst du header informationen senden:Content-Type: application/pdf
Content-Disposition: attachment; filename=default_name.pdfwobei ich mir bei
application/pdf nicht sicher bin - könnte auch anders heissen
default_name.pdf ist der name unter dem der user die datei speichern soll
-
Shade: Wenn du pdf angibst, lädt er doch nicht runter! Du musst irgendwas angeben, was der Browser nicht darstellen kann und sonst immer runterlädt (binary, was weiß ich).
-
Original erstellt von Loggy:
Shade: Wenn du pdf angibst, lädt er doch nicht runter! Du musst irgendwas angeben, was der Browser nicht darstellen kann und sonst immer runterlädt (binary, was weiß ich).deswegen ja auch
Content-Disposition: attachment
hat zumindest bei word-dokumenten funktioniert das einwandfrei.
-
Original erstellt von Shade Of Mine:
Content-Type: application/pdf
Content-Disposition: attachment; filename=default_name.pdfHmm ja. Entschuldige, ich bin schon seit einiger Zeit aus HTML und JavaScript raus. Welche Tags muss ich darum setzen? Oder soll das zum input-Tag gehören?
-
Es wurde doch schon gesagt: es geht in JavaScript / HTML nicht (es sei denn du zippst es)
Ansonsten musst du selber die header senden - z.B. mit PHP, Perl, ... (also einer serverseitigen Scriptsprache)
-
Original erstellt von flenders:
Es wurde doch schon gesagt: es geht in JavaScript / HTML nicht (es sei denn du zippst es)
Ansonsten musst du selber die header senden - z.B. mit PHP, Perl, ... (also einer serverseitigen Scriptsprache)Ähem, ich denke Shade hat
Content-Type: application/pdf
Content-Disposition: attachment; filename=default_name.pdfnicht umsonst geschrieben!
-
Er hat aber auch direkt darüber geschrieben:
Original erstellt von Shade Of Mine:
nicht mit javascript.Aber mach wie du willst :p
-
Original erstellt von flenders:
Er hat aber auch direkt darüber geschrieben:[quote]Original erstellt von Shade Of Mine:
[qb]nicht mit javascript.Aber mach wie du willst :p[/QB][/QUOTE]
Das habe ich bereits kapiert: nicht mit JavaScript. Aber die beiden Zeilen sehen mir ganz nach HTML aus!
-
Original erstellt von Shade Of Mine:
nicht mit javascript.
wenn du die datei runterladen willst, musst du header informationen sendenDas verstehe ich auch nicht ganz.
-
ne, ist kein HTML sondern HTTP-Header und die kannst du eben nur vom Server aus senden
-
Original erstellt von flenders:
ne, ist kein HTML sondern HTTP-Header und die kannst du eben nur vom Server aus sendenUha, ich glaub, jetzt wird's kompliziert. Wo kann ich denn so einen HTTP-Header angeben? Sorry, aber von sowas hab ich echt keine Ahnung.
-
Dazu brauchst du halt soviel ich weiß eine serverseitige Script-Sprache wie z.B. PHP oder Perl
In PHP geht das dann z.B. mit dem Befehl header();
-
Oha. Das ist mir zu kompliziert bzw. zu aufwendig. Dann lass ich halt lieber das PDF-Dokument im Browserfenster öffnen. Ist ja auch nicht sooo schlimm. Aber vielen Dank für eure Hilfe.
-
Eigentlich müsste man das doch auch per .htaccess ändern können oder nicht? Wäre ja blöd, wenn du die ganze Zeit, wo die Datei runtergeladen wird, der PHP Interpreter arbeiten muss.
-
Naja, wenn ihr noch ne gute Möglichkeit findet, das Ganze ohne PHP-Schnickschnack zu realisieren, dann würde ich mich darüber freuen, wenn ihr es hier hinein schreibt.
-
die einzige Möglichkeit ohne php wird wie schon gesagt, wohl zippen sein, oder die endung der .pdf- datei ändern in eine, die dem Browser unbekannt ist, aber das ist für den User dann wohl richtig bescheuert, da er diese dann nach dem Download wieder umändern muss.
MfGTobsen
-
Ich hab grad was in der Apache-Doku gefunden (nachdem Loggy gemeint hatte, dass es da noch was gibt wollte ich halt doch mal suchen )
RemoveType DirectiveVielleicht kann das mal jemand testen, weil ich hab bisher noch nich mit htaccess files gearbeitet
-
Also mit RemoveType gehts bei mir nicht.
Aber eine .htaccess Datei mit dem Inhalt:
AddType application/octet-stream .pdf
hat genau den gewünschten Effekt. Mozilla erkennt zwar, dass es ein PDF Dokument ist (an der Endung wohl), fragt jedoch vorher, ob er es downloaden soll oder per Programm öffnen (wie bei jedem Download).