Download Dateinamen vorschlagen
Cruz
- https
Hallo Leute,
ich weiss es gibt schon etliche Postings zu diesem Thema, aber ich wollte es nochmal neu anstoßen, da meine altbewährte Methode nicht mehr klappt. Ich möchte eine Zip Datei zum download anbieten und gebe folgende Häder dafür aus:
Content-Disposition: attachment; filename="datei.zip"
Content-type: application/octet-stream
Netscape 4.7 macht das auch wunderbar. Meinen IE habe ich von 5.5 auf 6.0 upgegradet und er macht das nicht mehr. Ich kriege nur noch den Namen des Scriptes vorgeschlagen. Genau so in Mozilla. Weiss jemand von euch abhilfe für die neuesten Browser?
Gruß,
Cruz
Moin Moin !
Content-Disposition: attachment; filename="datei.zip"
Content-type: application/octet-stream
IE hätte da gerne noch "Cache-Control: private" stehen.
Ich habe fast das selbe Problem gerade gelöst (hoffe ich mal ganz stark), mein Ansatz sieht etwas anders aus:
Der filename ist optional (und muß ohne(!) Quotes angegeben werden), also lasse ich ihn weg. Stattdessen hänge ich den gewünschten Dateinamen an die URL des Scripts an:
http://www.example.com/cgi-bin/download.cgi/report42.pdf?action=fetchreport&reportid=42
Das liefert dann
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Disposition: attachment
Cache-Control: private
Content-Length: 123456
%%PDF....
Alexander
Hi Alexander,
pfiffiger Ansatz! Leider klappt das auch nicht 100%. Es geht zumindest schon mal im IE sowie es soll. Mozilla und Netscape basteln allerdings selbst irgendwelche lustigen Namen zusammen.
Warum eigentlich das Cache-Control?
Gruß,
Cruz
Weisst du was,
es geht wunderbar mit einem
print "Location: http://url/zipfile.zip\n\n";
Also du generierst den Zip File, dann printest du den Location header und schon kommt der Download. Der Nachteil ist nur, dass du nicht die Möglichkeit hast die Zip Datei noch zu löschen, aber darum kann sich ein anderes Script periodisch kümmern.
Gruß,
Cruz