asp.net利用RAR實現文件壓縮解壓縮_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:凈化網絡環境 ASP程序實現過濾臟話
      凈化網絡環境 ASP程序實現過濾臟話 以下為引用的內容: <!--#include file="../conn/dbconn1.asp"--> <!--#include

      如果服務器上安裝了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 runat="server">
      <title>服務器端解壓縮 清清月兒 http://blog.csdn.net/21aspnet/</title>
      </head>
      <body>
      <form id="form1" runat="server">
      <div>
      <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="壓縮" />
      <asp:Button ID="Button2" runat="server" OnClick="Button2_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)
      ...{
      //清清月兒 http://blog.csdn.net/21aspnet/
      }
      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("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 " " 1.rar " " " "C:\1\1.txt";
      the_StartInfo = new ProcessStartInfo();
      the_StartInfo.FileName = the_rar;
      the_StartInfo.Arguments = the_Info;
      the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
      the_StartInfo.WorkingDirectory = "C:\1";//獲取或設置要啟動的進程的初始目錄。
      the_Process = new Process();
      the_Process.StartInfo = the_StartInfo;
      the_Process.Start();
      Response.Write("壓縮成功");
      }
      catch (Exception ex)
      ...{
      Response.Write(ex.ToString());
      }
      }
      protected void Button2_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("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 " " 1.rar " " " "C:\1";
      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();
      Response.Write("解壓縮成功");
      }
      catch (Exception ex)
      ...{
      Response.Write(ex.ToString());
      }
      }
      }

      服務器目錄

      客戶端解壓縮的變通方法:

      分享:Web設計里的軟件工程思想
      現在的網站規模越來越大,涉及到的部門、人員的數量也是越來越多。自然而然的,Web開發組的規模也是越來越復雜了,由此所帶來的管理難度也越來越大,在下面的文章里,我將與大家探討一些相關的W

      來源:模板無憂//所屬分類:ASP教程/更新時間:2008-08-22
      相關ASP教程