asp.net利用RAR实现文件压缩解压缩【月儿原创】
生活随笔
收集整理的這篇文章主要介紹了
asp.net利用RAR实现文件压缩解压缩【月儿原创】
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
asp.net利用RAR實(shí)現(xiàn)文件壓縮解壓縮
作者:清清月兒
主頁(yè):http://blog.csdn.net/21aspnet/?????????? 時(shí)間:2007.6.13
如果服務(wù)器上安裝了RAR程序,那么asp.net可以調(diào)用RAR實(shí)現(xiàn)文件壓縮與解壓縮。
不過(guò)要注意的是,由于Web程序不能直接調(diào)用客戶端的程序(除非用ActiveX,ActiveX幾乎被廢棄),所以如果要想實(shí)現(xiàn)讓用戶把本地文件用網(wǎng)頁(yè)解壓縮只有把文件上傳到服務(wù)器上再調(diào)用服務(wù)器上的RAR壓縮,同理要解壓縮本地的RAR文件可以把文件上傳到服務(wù)器解壓再拿回來(lái)。
本文講怎么在服務(wù)器端的目錄解壓縮文件!
效果圖:
<%...@?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>服務(wù)器端解壓縮??清清月兒?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>
?
后臺(tái)代碼:
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";//獲取或設(shè)置要啟動(dòng)的進(jìn)程的初始目錄。
????????????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());
????????}
????}
}
?
服務(wù)器端目錄:
客戶端解壓縮的變通方法:
總結(jié)
以上是生活随笔為你收集整理的asp.net利用RAR实现文件压缩解压缩【月儿原创】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: asp.net的Ajax学习进阶
- 下一篇: “大都食足早宜休”上一句是什么