1、在VS中安装NuGet包:SharpZipLib。
2、在类中添加引用:
using ICSharpCode.SharpZipLib.Zip;
3、打包:
/// <summary>
/// 创建压缩包
/// </summary>
/// <param name="zipName">压缩包名称(路径)</param>
/// <param name="files">要压缩的文件,key-文件名,value-文件字节数组</param>
public void CreateZipPackage(string zipName, Dictionary<string, byte[]> files)
{
using(FileStream zip = File.Create(zipName))
{
using(ZipOutputStream zipStream = new ZipOutputStream(zip))
{
foreach (KeyValuePair<string, byte[]> kv in files)
{
//压缩包内条目
ZipEntry entry = new ZipEntry(kv.Key);
//添加条目
zipStream.PutNextEntry(entry);
//设置压缩级别1~9
zipStream.SetLevel(5);
//写入
zipStream.Write(kv.Value, 0, kv.Value.Length);
}
}
}
}