zoukankan      html  css  js  c++  java
  • c#如何把文件夹压缩打包然后下载

    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();
            }


        }

  • 相关阅读:
    MFC单文档视图设置背景
    原来这就是命令行下的“学生信息管理系统”
    C语言中数组&取地址的问题
    《逐梦旅程-Windows游戏编程之从零开始》 勘误
    杭电ACM 1003 ( 动态规划法 水题)
    《编程之美》
    [蓝桥杯][2014年第五届真题]地宫取宝
    [蓝桥杯][2013年第四届真题]危险系数
    2142: 逛超市(zznuoj)
    2141:2333(zznuoj)
  • 原文地址:https://www.cnblogs.com/jasonwb/p/1873231.html
Copyright © 2011-2022 走看看