时间:2016-02-24 14:39 来源:
我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net利用RAR实现文件压缩解压缩】,下面是详细的分享!
asp.net利用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 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()); } } }
|
服务器目录

客户端解压缩的变通方法:

以上所分享的是关于asp.net利用RAR实现文件压缩解压缩,下面是编辑为你推荐的有价值的用户互动:
相关问题:asp.net中怎样实现将一个文件夹压缩为.rar文件
答:你在底层调用的还不是一些压缩的类库 而在前端传入出来的就是选择文件名路径。 建议你去找一些类库 >>详细
相关问题:asp.net用FileUpload控件上传.zip的压缩包到服务器...
答:分为两步: 文件上传到服务器某个目录,这一步比较简单; 将文件进行解压到某个目录,这一步需要用到一个Ionic.Zip.dll。 >>详细
相关问题:asp.net实现压缩多个文件夹
答:你需要调用WINRAR或者7ZIP等压缩软件的内核,不过这些软件好像都没有开放内核接口代码,可以看看微软的压缩内核。 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-