Saugkraft
Aktives Mitglied
Thread Starter
- Dabei seit
- 20.02.2005
- Beiträge
- 9.022
- Reaktionspunkte
- 3.189
Hallöchen,
ich will eine .zip Datei, die ich am Server dynamisch zusammen stelle, zum Client streamen.
Da ich in ASP programmiere, übersetze ich es für die nicht-ASPler mal in PHP.
Der vollständigkeit halber hier mein ASP-Code (vielleicht kann ich ja jemanden für ASP begeistern und MS kann endlich die Weltherrschaft übernehmen ) :
Die Datei wird zum Browser gestreamt und auch gespeichert.
Aber es tritt folgendes Problem auf: Die Datei lässt sich nicht entpacken.
Nach einem Doppelklick erstellt OS X eine .cpgz Datei.
Auf dem Server wird die .zip Datei in einem temp Verzeichnis zwischengespeichert. Dort lässt sie sich entpacken. Das Problem muss also am Streamen liegen.
Hat jemand eine Idee, was es außer dem Content-Type und der Content-length noch zu beachten gibt?
Bin für jeden Hinweis dankbar.
ich will eine .zip Datei, die ich am Server dynamisch zusammen stelle, zum Client streamen.
Da ich in ASP programmiere, übersetze ich es für die nicht-ASPler mal in PHP.
Code:
<?
$size = @filesize("datei.zip");
header("Content-Type: application/zip");
header("Content-disposition: attachment; filename=datei.zip");
header("Pragma: no-cache");
header("Expires: 0");
header("Content-length: ".$size);
readfile("datei.zip");
?>
Der vollständigkeit halber hier mein ASP-Code (vielleicht kann ich ja jemanden für ASP begeistern und MS kann endlich die Weltherrschaft übernehmen ) :
Code:
strFileName = "datei.zip"
Set fsize = fs.GetFile(strFileName)
StrFileSize = fsize.Size
Response.AddHeader "Content-Disposition", "attachment; filename=datei.zip" '& strFileName
Response.AddHeader "Content-Length", strFileSize
Response.ContentType = "application/zip"
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1 'Binary
Response.CharSet = "UTF-8"
objStream.LoadFromFile(strFileName)
Response.BinaryWrite(objStream.Read)
response.Flush()
objStream.Close
Die Datei wird zum Browser gestreamt und auch gespeichert.
Aber es tritt folgendes Problem auf: Die Datei lässt sich nicht entpacken.
Nach einem Doppelklick erstellt OS X eine .cpgz Datei.
Auf dem Server wird die .zip Datei in einem temp Verzeichnis zwischengespeichert. Dort lässt sie sich entpacken. Das Problem muss also am Streamen liegen.
Hat jemand eine Idee, was es außer dem Content-Type und der Content-length noch zu beachten gibt?
Bin für jeden Hinweis dankbar.