#region Ionic.Zip压缩文件 //压缩方法一 public void ExeCompOne() { string FileName = DateTime.Now.ToString("yyMMddHHmmssff"); //ZipFile实例化一个压缩文件保存路径的一个对象zip using (ZipFile zip = new ZipFile(@"E:\yangfeizai\"+ FileName+".zip",Encoding.Default)) { //加密压缩 zip.Password = "123456"; //将要压缩的文件夹添加到zip对象中去(要压缩的文件夹路径和名称) zip.AddDirectory(@"E:\yangfeizai\"+"12051214544443"); //将要压缩的文件添加到zip对象中去,如果文件不存在抛错FileNotFoundExcept //zip.AddFile(@"E:\yangfeizai\12051214544443\"+"Jayzai.xml"); zip.Save(); } } //压缩方法二 public void ExeCompTwo() { string FileName = DateTime.Now.ToString("yyMMddHHmmssff"); //ZipFile实例化一个对象zip using (ZipFile zip = new ZipFile()) { //加密压缩 zip.Password = "123456"; //将要压缩的文件夹添加到zip对象中去(要压缩的文件夹路径和名称) zip.AddDirectory(@"E:\yangfeizai\" + "12051214544443"); //将要压缩的文件添加到zip对象中去,如果文件不存在抛错FileNotFoundExcept //zip.AddFile(@"E:\yangfeizai\12051214544443\"+"Jayzai.xml"); //用zip对象中Save重载方法保存压缩的文件,参数为保存压缩文件的路径 zip.Save(@"E:\yangfeizai\"+ FileName + ".zip"); } } #endregion #region //删除压缩包中的文件 //3.从zip文件中删除一个文件,注意无法直接删除一个文件夹 public void ExeDelete(string FileName) { using (ZipFile zip = ZipFile.Read(@"E:\yangfeizai\" + FileName + ".zip")) { //zip["Jayzai.xml"] = null; //删除zip对象中的一个文件 zip.RemoveEntry("Jayzai.xml"); zip.Save(); } } #endregion
Asp.Net(B/S) 输出ZIP文件
Response.ContentType = "application/zip"; using (var fs = System.IO.File.OpenRead(file)) { var b = new byte[1024]; int n; while ((n = fs.Read(b, 0, b.Length)) > 0) { Response.OutputStream.Write(b, 0, n); } } Response.Close();