public static void DeCompress(string fileName, string saveDir) { fileName = fileName.ToLower(); if (fileName.EndsWith(".rar")) { RarHelper.UnCompressRar(fileName, saveDir); } else { using (var zip = new Ionic.Zip.ZipFile(fileName, Encoding.Default)) { zip.ExtractAll(saveDir, Ionic.Zip.ExtractExistingFileAction.OverwriteSilently); } } }
/// <summary> /// 解压文件名 /// </summary> /// <returns></returns> public JsonResult UnRAR() { string name = Request["name"].ToString(); string newname = Request["newname"].ToString(); if (RarHelper.UnRAR(Maincontrol.GetFullPath(name), Maincontrol.GetFullPath(newname) + @"\" + name.Split('.')[0])) { Maincontrol.NewFloder(name.Split('.')[0], Maincontrol.GetID(newname), Maincontrol.GetRelativePath(newname) + @"\" + name.Split('.')[0]); Filetransfer.FindFile(new DirectoryInfo(Maincontrol.GetFullPath(newname) + @"\" + name.Split('.')[0])); return(Json(true)); } else { return(Json(false)); } }
static void Main(string[] args) { //解压 //RarHelper.Unpack("d:/demo.rar", "d:/testRar/"); RarHelper.Unpack("d:/demo.zip", "d:/testRar/"); //压缩 List <string> files = new List <string>() { "d:/demo.xls", "d:/demo2.xlsx" }; RarHelper.Pack(files, "d:/abc.zip"); //压缩 RarHelper.Pack("d:/testRar", "d:/t.zip"); }
public static void Compress(string soruceDir, string rarFileName, out string rarFullPath) { rarFullPath = Path.Combine(soruceDir, rarFileName); RarHelper.CompressFilesToRar(Directory.GetFiles(soruceDir).ToList(), rarFullPath, rarFullPath); }