Créer des zip à partir de plusieurs fichiers dans la mémoire

Je suis en train d'utiliser SharpZipLib pour générer le fichier zip et de laisser le client le télécharger.

Actuellement le dossier zip est créé et disponible sur la machine client, mais le problème est download.zip le dossier est vide. Les fichiers qui sont spécifiés dans le dossier ne sont pas disponibles dans le dossier zip.

Ci-dessous le code que j'ai essayé.

System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
ICSharpCode.SharpZipLib.Checksums.Crc32 crc = new ICSharpCode.SharpZipLib.Checksums.Crc32();

//stream directly to client.
ICSharpCode.SharpZipLib.Zip.ZipOutputStream output = new ICSharpCode.SharpZipLib.Zip.ZipOutputStream(response.OutputStream);
output.SetLevel(9);
string[] files =    Directory.GetFiles("D:/newfolder/");
for (int i = 0; i < files.Length; i++)
{
    ICSharpCode.SharpZipLib.Zip.ZipEntry entry = new ICSharpCode.SharpZipLib.Zip.ZipEntry(files[i].ToString());
    entry.DateTime = DateTime.Now;
    System.IO.FileStream fs = new System.IO.FileStream(files[i].ToString(), FileMode.Open);      
    byte[] buffer = new byte[fs.Length];
    fs.Read(buffer, 0, buffer.Length);
    entry.Size = fs.Length;
    fs.Close();
    crc.Reset();
    crc.Update(buffer);
    entry.Crc = crc.Value;
    output.PutNextEntry(entry);
    output.Write(buffer, 0, buffer.Length);
}

output.Finish();
output.Close();
response.Clear();
response.ContentType = "D:/Work Area/";
response.AddHeader("Content-Disposition", "attachment; filename=" + "download.zip");
response.End();

Quelqu'un peut me dire quel est le problème? Pourquoi les fichiers ne sont pas disponibles dans .zip

Peut-être que cet exemple pourrait vous aider: codeproject.com/Articles/23010/...

OriginalL'auteur riya | 2012-03-20