aspx:
<ul style="list-style: none;display:none" class="boxs1"> <li> <asp:Label ID="Label3" runat="server" Text="选择文件:"></asp:Label> </li> <li> <asp:FileUpload ID="filehtml" runat="server" Width="" Height="24px" /> </li> </ul> cs:private string GetContentUrl()
{ string contenturl = ""; if (this.filehtml.HasFile) //---or has the file //if(this.filehtml.FileName.ToString() != "") {string filename = this.filehtml.FileName;
string strExtName = filename.Substring(filename.LastIndexOf('.')); if (strExtName == ".rar") {string strPathAndName = Server.MapPath("../filehtml/") + filename;
filehtml.PostedFile.SaveAs(strPathAndName);string strPreFileName = filename.Substring(0, filename.LastIndexOf('.'));
strPreFileName += ".htm"; //解压Rar文件filename = "imagfile" + DateTime.Now.ToString("yyyyMMddHHmmssfffff");
string ServerDir = @"C:\Program Files\iRAR";//rar路径
System.Diagnostics.Process Process1 = new Process(); Process1.StartInfo.FileName = ServerDir + "\\WinRAR.exe"; Directory.CreateDirectory(Server.MapPath("../filehtml/") + filename); //创建解压文件夹 Process1.StartInfo.Arguments = " x -inul -y " + strPathAndName + " " + Server.MapPath("../filehtml/") + filename; Process1.Start();//解压开始 while (!Process1.HasExited) //等待解压的完成 { } contenturl = Tools.GetImagePathHeader(Request.Url.AbsoluteUri) + "filehtml/" + filename + "/" + strPreFileName; ; } else { filename = "htl" + DateTime.Now.ToString("yyyyMMddHHmmssfffff") + filename.Substring(filename.LastIndexOf('.')); filehtml.SaveAs(Server.MapPath("../filehtml/") + filename); contenturl = Tools.GetImagePathHeader(Request.Url.AbsoluteUri) + "filehtml/" + filename; } } return contenturl;}