asp.net上传RAR文件自动解压

来源:互联网 发布:如何办理美国签证 知乎 编辑:程序博客网 时间:2024/05/26 02:21

using System;
using System.IO;
using System.Diagnostics;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web.Security;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace WebLayer
{
/**//// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
  protected System.Web.UI.WebControls.Button Button1;
  protected System.Web.UI.HtmlControls.HtmlInputFile myfile;

  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
  }

  Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
 
  /**//// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.Button1.Click += new System.EventHandler(this.Button1_Click);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  private void Button1_Click(object sender, System.EventArgs e)
  {
   string path = @"C:/"+myfile.PostedFile.FileName.Substring(myfile.PostedFile.FileName.LastIndexOf("//"));
   myfile.PostedFile.SaveAs(path);
   Response.Write("文件上传成功:"+path);
   //Response.End();
   // 在此处放置用户代码以初始化页面 
   Process p = new Process();  
   p.StartInfo.UseShellExecute = false;  
   p.StartInfo.RedirectStandardInput = true;  
   p.StartInfo.RedirectStandardOutput = true;  
   p.StartInfo.RedirectStandardError = true;  
   p.StartInfo.CreateNoWindow = true; 
   p.StartInfo.FileName = "cmd.exe";  
   p.Close();  
   //解压Rar文件 
   string ServerDir=@"C:/Program Files/WinRAR";//rar路径 
   System.Diagnostics.Process Process1=new Process(); 
   Process1.StartInfo.FileName=ServerDir+"//Rar.exe"; 
   Directory.CreateDirectory(path+".files"); //创建解压文件夹 
   Process1.StartInfo.Arguments=" x -inul -y "+path+" "+path+".files"; 
   Process1.Start();//解压开始 
   while(!Process1.HasExited)           //等待解压的完成 
   { 
   } 
   //File.Delete(path);//删除rar文件 
  }
}
}

 
原创粉丝点击