zoukankan      html  css  js  c++  java
  • Asp.net调用RAR压缩 解压文件


        
    //压缩
        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   最好      使用最大压缩方式(最好的压缩,但是最慢)

  • 相关阅读:
    HTTP/2的优先级
    JavaScript 日期权威指南
    岂曰无衣与子同袍
    Android项目中实现native调用
    关键渲染路径
    @ModelAttribute使用详解
    @SessionAttribute使用详解
    @ControllerAdvice 拦截异常并统一处理
    js获取文件MD5值
    Mybatis分页插件PageHelper的配置和使用方法
  • 原文地址:https://www.cnblogs.com/bobofsj11/p/1233073.html
Copyright © 2011-2022 走看看