• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[转]C#如何把文件夹压缩打包然后下载

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
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();  
        }  
  
  
    }  

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap