asp.net(c#)利用RAR实现文件压缩

这里我只摘录压缩部分,而不摘录解压部分,因为经过调试,发现解压功能出错。

如果服务器上安装了RAR程序,那么asp.net可以调用RAR实现文件压缩与解压缩。

       不过要注意的是,由于Web程序不能直接调用客户端的程序(除非用ActiveX,ActiveX几乎被废弃),所以如果要想实现让用户把本地文件用网页解压缩只有把文件上传到服务器上再调用服务器上的RAR压缩,同理要解压缩本地的RAR文件可以把文件上传到服务器解压再拿回来。

本文讲怎么在服务器端的目录压缩文件!

前台文件:

<% @ Page Language = " C# "  AutoEventWireup = " true "   CodeFile = " Default.aspx.cs "  Inherits = " _Default "   %>

<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >

< html xmlns = " http://www.w3.org/1999/xhtml "   >
< head id = " Head1 "  runat = " server " >
    
< title > 原创:清清月儿  调试与修改:阿会楠 来自:www.sosuo8.com  </ title >
</ head >
< body >
    
< form id = " form1 "  runat = " server " >
    
< div >
        
< asp:Button ID = " Button1 "  runat = " server "  OnClick = " Button1_Click "  Text = " 压缩 "   />
        
</ div >
    
</ form >
</ body >
</ html >

 后台文件:

 

using  System;
using  System.Data;
using  System.Configuration;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;
using  System.IO;
using  System.Runtime.InteropServices;
using  Microsoft.Win32;
using  System.Diagnostics;
public   partial   class  _Default : System.Web.UI.Page 
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
     
//原创:清清月儿 调试与修改:阿会楠 来自:www.sosuo8.com
    }

    
protected void Button1_Click(object sender, EventArgs e)
    
{
        
//压缩
        String the_rar;
        RegistryKey the_Reg;
        Object the_Obj;
        String the_Info;
        ProcessStartInfo the_StartInfo;
        Process the_Process;
        
try
        
{
            the_Reg 
= Registry.ClassesRoot.OpenSubKey(@"ApplicationsWinRAR.exeShellOpenCommand");
            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    " + " 1.rar " + "  " + @"C:.txt";
            the_StartInfo 
= new ProcessStartInfo();
            the_StartInfo.FileName 
= the_rar;
            the_StartInfo.Arguments 
= the_Info;
            the_StartInfo.WindowStyle 
= ProcessWindowStyle.Hidden;
            the_StartInfo.WorkingDirectory 
= @"C:";//获取或设置要启动的进程的初始目录。
            the_Process = new Process();
            the_Process.StartInfo 
= the_StartInfo;
            the_Process.Start();
            Response.Write(
"压缩成功");
        }

        
catch (Exception ex)
        
{
            Response.Write(ex.ToString());
        }

    }

    
  
}

服务器端目录:


压缩

补充:测试的时候在C盘下建一个文件夹名为1,文件夹1下面建一个1.txt,按压缩后可以看到效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值