c#如何把文件夹压缩打包然后下载

来源:互联网 发布:电子音乐 知乎 编辑:程序博客网 时间:2024/04/20 02:05
    
public partial class _Default2 : System.Web.UI.Page{        protected void Page_Load(object sender, EventArgs e)        {        }        protected void Button1_Click(object sender, EventArgs e)        {            string Path = "c:\\de";            string resultPath = string.Empty;            bool rel =false;            TimeSpan nowTimeSpan=new TimeSpan();            resultPath=YaSuo(out rel, out nowTimeSpan);            ResponseFile(resultPath);        }        /// <summary>        /// 压缩文件        /// </summary>        /// <returns>返回压缩后的路径</returns>        public string YaSuo(out bool bo, out TimeSpan times)        {            string rarurlPath = string.Empty;            bo = false;            //压缩文件            string yasuoPathSave = "c:\\de\\TZ.rar";            string yasuoPath = "c:\\de\\temp";            System.Diagnostics.Process pro = new System.Diagnostics.Process();            pro.StartInfo.FileName = @"C:\Program Files\WinRAR\WinRAR.exe";//WinRAR所在路径            //pro.StartInfo.Arguments = "a " + yasuoPathSave + " " + yasuoPath + " -r ";//dir是你的目录名             pro.StartInfo.Arguments = string.Format("a {0} {1} -r",yasuoPathSave,yasuoPath);             pro.Start();            times = pro.TotalProcessorTime;            bo = pro.WaitForExit(60000);//设定一分钟            if (!bo)                pro.Kill();            pro.Close();            pro.Dispose();            rarurlPath = yasuoPathSave;            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="+file.Name);            //添加头信息。为“文件下载/另存为”指定默认文件名称            Response.AddHeader("Content-Length",file.Length.ToString());            //添加头文件,指定文件的大小,让浏览器显示文件下载的速度             Response.WriteFile(file.FullName);// 把文件流发送到客户端            Response.End();        }    }


 

原创粉丝点击