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

  • 相关阅读:
    微服务网关常用限流算法
    微服务网关zuul介绍
    Nginx实现微服务网关的简单介绍
    11.9-编写操作者
    11.5-编写程序
    11.3-学习操作者文档
    11.2-LV面向对象编程视频学习及周五与老师交流总结
    10.29-基于LabVIEW的分布式集群机器人控制系统
    10.27-运用操作者框架架设控制中心软件架构
    5.24-29离线解析问题
  • 原文地址:https://www.cnblogs.com/bobofsj11/p/1233073.html
Copyright © 2020-2023  润新知