将服务器文件压缩并下载

protected void BtnDowload_Click(object sender, EventArgs e)     {         string path = Server.MapPath(ConfigurationManager.AppSettings["PersonRecordUrl"]);         string resultPath = string.Empty;         bool rel = false;         TimeSpan nowTimeSpan = new TimeSpan();         resultPath = YaSuo(out rel, out nowTimeSpan, path);         ResponseFile(resultPath);     }

     ///<summary>      ///压缩文件      ///</summary>      ///<returns>返回压缩后的路径</returns>     public string YaSuo(out bool bo, out TimeSpan times,string path)     {         string rarurlPath = string.Empty;         bo = false;         //压缩文件         string yasuoPathSave = path;         System.Diagnostics.Process pro = new System.Diagnostics.Process();         pro.StartInfo.FileName = @"D:\YASUO\WinRAR\WinRAR.exe";//WinRAR所在路径         //pro.StartInfo.Arguments = "a " + yasuoPathSave + " " + yasuoPath + " -r ";//dir是你的目录名         pro.StartInfo.Arguments = string.Format("a {0} {1} -r", yasuoPathSave, yasuoPathSave);

        pro.Start();         times = pro.TotalProcessorTime;         bo = pro.WaitForExit(60000);//设定一分钟         if (!bo)             pro.Kill();         pro.Close();         pro.Dispose();         rarurlPath = yasuoPathSave + ".rar";         return rarurlPath;     }

    protected void ResponseFile(string filename)     {         FileInfo file = new FileInfo(filename);         Response.Clear();         Response.Charset = "GB2312";         Response.ContentEncoding = Encoding.Default;         Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("员工简历.rar"));         Response.WriteFile(file.FullName);         Response.End();     }

posted @ 2016-04-18 17:08  Carri  阅读(461)  评论(0编辑  收藏  举报