zoukankan      html  css  js  c++  java
  • [转贴]Asp.Net[C#]在线压缩解压

    出处:未知了..

     1.引用

    using System.IO;
    using Microsoft.Win32;
    using System.Diagnostics;
    /******************************************************    
    程序用途:实现文件[文件夹]压缩解压功能函数
    程序备注:
     * 服务器端WinRAR支持
     * 路径简述必须绝对路径
    ******************************************************/


    2.主要代码之压缩

       /// <summary>
       /// 压缩文件
       /// </summary>
       /// <param name="DFilePath">需要压缩的文件夹或者单个文件</param>
       /// <param name="DRARName">生成压缩文件的文件名</param>
       /// <param name="DRARPath">生成压缩文件保存路径</param>
       /// <returns></returns>
        protected bool RAR(string DFilePath, string DRARName,string DRARPath)
        {
            String the_rar;
            RegistryKey the_Reg;
            Object the_Obj;
            String the_Info;
            ProcessStartInfo the_StartInfo;
            Process the_Process;
            try
            {
                the_Reg = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRAR.exe\Shell\Open\Command");
                the_Obj = the_Reg.GetValue("");
                the_rar = the_Obj.ToString();
                the_Reg.Close();
                the_rar = the_rar.Substring(1, the_rar.Length - 7);
                the_Info = " a    " + " " + DRARName + "  " + DFilePath; //命令 + 压缩后文件名 + 被压缩的文件或者路径
                the_StartInfo = new ProcessStartInfo();
                the_StartInfo.FileName = the_rar;
                the_StartInfo.Arguments = the_Info;
                the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                the_StartInfo.WorkingDirectory = DRARPath ; //RaR文件的存放目录。
                the_Process = new Process();
                the_Process.StartInfo = the_StartInfo;
                the_Process.Start();
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }


    3.主要代码之解压

        /// <summary>
        /// 解压缩到指定文件夹 
        /// </summary>
        /// <param name="RARFilePath">压缩文件存在的目录 </param>
        /// <param name="RARFileName">压缩文件名称 </param>
        /// <param name="UnRARFilePath">解压到文件夹</param>
        /// <returns></returns>
        protected bool UnRAR(string RARFilePath,string RARFileName,string UnRARFilePath)
        {
            //解压缩
            String the_rar;
            RegistryKey the_Reg;
            Object the_Obj;
            String the_Info;
            ProcessStartInfo the_StartInfo;
            Process the_Process;
            try
             {
                the_Reg = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRar.exe\Shell\Open\Command");
                the_Obj = the_Reg.GetValue("");
                the_rar = the_Obj.ToString();
                the_Reg.Close();
                the_rar = the_rar.Substring(1, the_rar.Length - 7);
                the_Info = @" X " + " " + RARFilePath + RARFileName + " " + UnRARFilePath;
                the_StartInfo = new ProcessStartInfo();
                the_StartInfo.FileName = the_rar;
                the_StartInfo.Arguments = the_Info;
                the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                the_Process = new Process();
                the_Process.StartInfo = the_StartInfo;
                the_Process.Start();
                return true;
            }
            catch (Exception ex)
             {
                 return false;
             }

        }


    3.示例
            string oFilePath = @"C:\1\";
            string oRARFileName = "1.rar";
            string oToFilePath = @"C:\2\";

            //if (RAR(oFilePath, oRARFileName, oToFilePath))

            if (UnRAR(oFilePath, oRARFileName, oToFilePath))
                Response.Write("OK");
            else
                Response.Write("No"); 

  • 相关阅读:
    How To Scan QRCode For UWP (4)
    How To Crop Bitmap For UWP
    How To Scan QRCode For UWP (3)
    How To Scan QRCode For UWP (2)
    How To Scan QRCode For UWP (1)
    How to change windows applicatioin's position via Win32 API
    8 Ways to Become a Better Coder
    How to resize or create a thumbnail image from file stream on UWP
    C# winform压缩文件夹带进度条
    MS ACCESS MID函数
  • 原文地址:https://www.cnblogs.com/leadwit/p/1267705.html
Copyright © 2011-2022 走看看