用FileUpload上传压缩文件,在后台解压
我在桌面建了一个文件夹“解压” ,专门存放上传得压缩文件和解压后的文件,代码如下,程序执行完之后,存放解压后的文件的文件夹是空的,怎么会事?有人知道吗?
try
{
string path = @"C:\Documents and Settings\桌面\解压" + 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+"\\WinRar.exe"; //不明白这儿是WinRar.exe还是Rar.exe?
Process1.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Directory.CreateDirectory(path + ".files"); //创建解压文件夹
Process1.StartInfo.Arguments=@" x -inul -y-o"+path+" "+path+".files";
Process1.Start();//解压开始
while(!Process1.HasExited) //等待解压的完成
{
// Process1.WaitForExit();
}
}
catch (Exception ex)
{
this.lblError.Text = ex.Message+ex.StackTrace;
}
------解决方案--------------------
Process1.StartInfo.Arguments=@" x -inul -y-o"+path+" "+path+".files";
======>
Process1.StartInfo.Arguments="x -t -o+ -p- "+" "+path+" "+path+".files";//调用Rar.exe命令行参数
试试~~
不然就是你路径问题~~
------解决方案--------------------
路径里有汉字,换一个路径试一试!