龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

Asp.net调用RAR压缩文件与解压文件源码

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
//压缩 protected void btnY_Click(object sender, EventArgs e) { string rar; RegistryKey reg; string args; ProcessStartInfo procStart; Process process; try { reg = Registry.ClassesRoot.OpenSubKey(@"ApplicationsWinRAR.exeShellOpenCommand");

//压缩
protected void btnY_Click(object sender, EventArgs e)
{
 string rar;
 RegistryKey reg;
 string args;
 ProcessStartInfo procStart;
 Process process;
 try
 {
  reg = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRAR.exe\Shell\Open\Command");
  rar = reg.GetValue("").ToString();//获取注册表rar安装路径
  reg.Close();
  rar = rar.Substring(1, rar.Length - 7);//获取rar安装路径
  args = "a -inul -y G:\\temp.rar G:\\1.txt";//这里为rar的压缩命令格式(也可以自行扩展)
  procStart = new ProcessStartInfo();
  procStart.FileName = rar;
  procStart.Arguments = args;//参数
  procStart.WindowStyle = ProcessWindowStyle.Hidden;//窗口状态
  procStart.WorkingDirectory = Server.MapPath(""); ;//获取或设置要启动的进程的初始目录。
  process = new Process();
  process.StartInfo = procStart;
  process.Start();
  Response.Write("<script>alert('压缩成功')</script>");
 }
 catch (Exception ex)
 {
  Response.Write(ex.ToString());
 }
}
//解压
protected void btnJ_Click(object sender, EventArgs e)
{
 string rar;
 RegistryKey reg;
 string args;
 ProcessStartInfo startInfo;
 Process process;
 try
 {
  reg = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRar.exe\Shell\Open\Command");
  rar = reg.GetValue("").ToString();
  reg.Close();
  rar = rar.Substring(1, rar.Length - 7);
  args = " X E:\\temp.rar E:\\";
  startInfo = new ProcessStartInfo();
  startInfo.FileName = rar;
  startInfo.Arguments = args;
  startInfo.WindowStyle = ProcessWindowStyle.Hidden;
  process = new Process();
  process.StartInfo = startInfo;
  process.Start();
  Response.Write("<script>alert('解压成功')</script>");
 }
 catch (Exception ex)
 {
  Response.Write(ex.ToString());
 }
}


例:把E:\web\目录下的所有东西打包为1.rar放到E:\web\目录下,以便下载
"C:\Program Files\WinRAR\Rar.exe" a -k -r -s -m1 E:\web\1.rar E:\web\
参数说明:
a 添加文件到压缩文件中
-k 锁定压缩文件
-s产生固体存档,这样可以增大压缩比
-r包括子目录
-m1 设置压缩比
   -m0   存储      添加到压缩文件时不压缩文件。
   -m1   最快      使用最快方式(低压缩)
   -m2   较快      使用快速压缩方式
   -m3   标准      使用标准(默认)压缩方式
   -m4   较好      使用较好压缩方式(较好压缩,但是慢)
   -m5   最好      使用最大压缩方式(最好的压缩,但是最慢)

精彩图集

赞助商链接