ASP.NET Créer le fichier zip à télécharger: le comprimé dossier zippé est pas valide ou est endommagé

string fileName = "test.zip";
string path = "c:\\temp\\";
string fullPath = path + fileName;
FileInfo file = new FileInfo(fullPath);

Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Buffer = true;
Response.AppendHeader("content-disposition", "attachment; filename=" + fileName);
Response.AppendHeader("content-length", file.Length.ToString());
Response.ContentType = "application/x-compressed";
Response.TransmitFile(fullPath);
Response.Flush();
Response.End();

La réelle fichier zip c:\temp\test.zip est bon, valable, tout ce que vous voulez l'appeler. Quand j'ai accédez au répertoire c:\temp\ et double-cliquez sur l'test.zip fichier, il s'ouvre à droite.

Mon problème semble n'être qu'avec le téléchargement. Le code ci-dessus s'exécute sans problème. Un téléchargement de fichier boîte de dialogue est présentée. J'pouvez choisir d'enregistrer ou ouvrir. Si j'essaie d'ouvrir le fichier à partir de la boîte de dialogue, ou de l'enregistrer puis de l'ouvrir. J'obtiens le message de boîte de dialogue:

Le Dossier Compressé n'est pas valide ou est endommagé.

Pour La Réponse.ContentType j'ai essayé:

application/x-compressé
application/x-zip compressé
application/x-gzip compresse
application/octet-stream
application/zip

Le fichier zip est créé avec certains avant le code (que je suis sûr, c'est travailler à cause de ma capacité à ouvrir le fichier créé directement) à l'aide de: Ionic.zip

http://www.codeplex.com/DotNetZip

Juste une intuition, est le fichier téléchargé la même taille que l'original?

OriginalL'auteur Jason Braswell | 2010-03-16