使用rar.exe压缩的例子
需要保证rar.exe在网站目录下
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
加密密码<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
</form>
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
加密密码<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
</form>
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.Diagnostics;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string filename = "test.rar";
//FileUpload1.SaveAs(Server.MapPath("test.xls"));
//if (System.IO.File.Exists(Server.MapPath(filename)))
// System.IO.File.Delete(Server.MapPath(filename));
System.Diagnostics.Process Process1 = new System.Diagnostics.Process();
Process1.StartInfo.UseShellExecute = false;
Process1.StartInfo.RedirectStandardInput = true;
Process1.StartInfo.RedirectStandardOutput = true;
Process1.StartInfo.RedirectStandardError = true;
Process1.StartInfo.CreateNoWindow = true;
Process1.StartInfo.FileName = Server.MapPath("rar.exe");
Process1.StartInfo.Arguments = "a -p" + this.TextBox1.Text + " -ep \"" + Server.MapPath("test.rar") + "\" \"" + Server.MapPath("test.xls") + "\"";
Process1.Start();
while (!Process1.HasExited)
{
//Response.Write(Process1.StandardOutput.ReadToEnd());
}
Process1.Close();
Response.Clear();
Response.AddHeader("Content-Disposition", "inline; filename=" + Server.UrlEncode(filename));
Response.ContentType = "application/x-tar";
if (System.IO.File.Exists(Server.MapPath(filename)))
Response.WriteFile(filename);
}
}
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.Diagnostics;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string filename = "test.rar";
//FileUpload1.SaveAs(Server.MapPath("test.xls"));
//if (System.IO.File.Exists(Server.MapPath(filename)))
// System.IO.File.Delete(Server.MapPath(filename));
System.Diagnostics.Process Process1 = new System.Diagnostics.Process();
Process1.StartInfo.UseShellExecute = false;
Process1.StartInfo.RedirectStandardInput = true;
Process1.StartInfo.RedirectStandardOutput = true;
Process1.StartInfo.RedirectStandardError = true;
Process1.StartInfo.CreateNoWindow = true;
Process1.StartInfo.FileName = Server.MapPath("rar.exe");
Process1.StartInfo.Arguments = "a -p" + this.TextBox1.Text + " -ep \"" + Server.MapPath("test.rar") + "\" \"" + Server.MapPath("test.xls") + "\"";
Process1.Start();
while (!Process1.HasExited)
{
//Response.Write(Process1.StandardOutput.ReadToEnd());
}
Process1.Close();
Response.Clear();
Response.AddHeader("Content-Disposition", "inline; filename=" + Server.UrlEncode(filename));
Response.ContentType = "application/x-tar";
if (System.IO.File.Exists(Server.MapPath(filename)))
Response.WriteFile(filename);
}
}
欢迎大家阅读我的极客时间专栏《Java业务开发常见错误100例》【全面避坑+最佳实践=健壮代码】