Writing Zip Files in-memory C# with Example



Writing Zip Files in-memory C# with Example

The following example will return the byte[] data of a zipped file containing the files provided to it, without 
needing access to the file system. 
public static byte[] ZipFiles(Dictionary files) 
{ 
using (MemoryStream ms = new MemoryStream()) 
{ 
using (ZipArchive archive = new ZipArchive(ms, ZipArchiveMode.Update)) 
{ 
foreach (var file in files) 
{ 
ZipArchiveEntry orderEntry = archive.CreateEntry(file.Key); //create a file with 
this name 
using (BinaryWriter writer = new BinaryWriter(orderEntry.Open())) 
{ 
writer.Write(file.Value); //write  the  binary  data 
} 
} 
} 
//ZipArchive must be disposed before the MemoryStream has data 
return ms.ToArray(); 
} 
} 

0 Comment's

Comment Form

Submit Comment