Download starten
Manne
- cgi
hi Forumler
ich muss leider nochmal auf mein problem zurueckkommen,
da ich erst heute den tip von Cheatah ausprobieren konnte.
filedownload starten mit cgi-script:
print "Content-type: application/zip\n";
print "Content-length: $filesize\n";
print "Content-Disposition: filename=$name\n\n";
open(READ,$datei);
binmode READ;
binmode STDOUT;
while ($line=<READ>) { print $line; }
close(READ);
die datei wird im browserfenster angezeigt
lasse ich "binmode STDOUT;" weg, oeffnet der browser
tatsaechlich den download-dialog.
die uebertragene datei ist natuerlich schrott.
liegt's vieleicht an meiner serversoftware?
ich setzte offline den sambarserver ein.
mfg
manne
Hi,
ich kann's mir zwar nicht richtig erklären, würde aber als nächstes mal folgendes probieren:
open(READ,$datei);
binmode READ;
binmode STDOUT;
print "Content-type: application/zip\n";
print "Content-length: $filesize\n";
print "Content-Disposition: filename=$name\n\n";
while ($line=<READ>) { print $line; }
close(READ);
Cheatah
Hi, Cheatah
das war's danke
Ich versteh' nur den Unterschied zu der Variante nicht
(so hatte ich's mal probiert)
binmode STDOUT;
print "Content-type: application/zip\n";
print "Content-length: $filesize\n";
print "Content-Disposition: filename=$name\n\n";
open(READ,$datei);
binmode READ;
while ($line=<READ>) { print $line; }
close(READ);
Naja, ich bin Perlanfaenger. Ich werd's schon noch
lernen.
Nochmals Danke!!
gruss
Manne
Hallo!
Ich versteh' nur den Unterschied zu der Variante nicht
Mmh, das ist jetzt mal ne reine Spekulation, bin da auch nicht sehr auskennend:
Vielleicht verwirft das Umschalten von STDOUT auf binmode die vorher gemachten Ausgaben in irgendeiner Weise. Das haette zur Folge, dass Du praktisch keinen Content-Type rausgeschrieben hast. Normalerweise bringt der Webserver dann eine Fehlermeldung (unvollstaendige Header oder so), aber vielleicht verwendest Du einen, der so tolerant ist, dass er stattdessen einfach text/html an den Browser sendet. Dieser Mime-Type veranlasst den Browser dann natuerlich, die Daten so darstellen zu wollen, wie eine HTML-Datei. Probier doch mal, statt der ZIP-Datei eine HTML zurueckzuschicken. Wenn meine Vermutung stimmt, muesste die einwandfrei vom Browser angezeigt werden.
Calocybe