• 会员中心
  • 当前位置:首页 > 教程 > 编程教程 >

    asp.net实现文件夹及文件压缩,并实现下载
    栏目分类:编程教程   发布日期:2015-09-02   浏览次数:

    步骤1)先引用 ICSharpCode SharpZipLib dll;2) cs文件引入usingSystem IO;usingSystem Text;usingICSharpCode SharpZipLib Checksums;usingICSharpCode SharpZipLib Zip;usingICSharpCode SharpZipLib GZip;

    步骤

    1)先引用 ICSharpCode.SharpZipLib.dll;
     

    2).cs文件引入

    1. using System.IO; 
    2. using System.Text; 
    3. using ICSharpCode.SharpZipLib.Checksums; 
    4. using ICSharpCode.SharpZipLib.Zip; 
    5. using ICSharpCode.SharpZipLib.GZip; 


    3)代码
    #region 下列代码为压缩并下载代码     

    1. ZipOutputStream zos = null
    2.       String strBaseDir = ""
    3.  
    4.  
    5.       void dlZipDir(string strPath, string strFileName) 
    6.       { 
    7.           MemoryStream ms = null
    8.           Response.ContentType = "application/octet-stream"
    9.           strFileName = HttpUtility.UrlEncode(strFileName).Replace('+'' '); 
    10.           Response.AddHeader("Content-Disposition""attachment;   filename=" + strFileName + ".zip"); 
    11.           ms = new MemoryStream(); 
    12.           zos = new ZipOutputStream(ms); 
    13.           strBaseDir = strPath + "\\"
    14.           addZipEntry(strBaseDir); 
    15.           zos.Finish(); 
    16.           zos.Close(); 
    17.           Response.Clear(); 
    18.           Response.BinaryWrite(ms.ToArray()); 
    19.           Response.End(); 
    20.       } 
    21.  
    22.       void addZipEntry(string PathStr) 
    23.       { 
    24.           DirectoryInfo di = new DirectoryInfo(PathStr); 
    25.           foreach (DirectoryInfo item in di.GetDirectories()) 
    26.           { 
    27.               addZipEntry(item.FullName); 
    28.           } 
    29.           foreach (FileInfo item in di.GetFiles()) 
    30.           { 
    31.               FileStream fs = File.OpenRead(item.FullName); 
    32.               byte[] buffer = new byte[fs.Length]; 
    33.               fs.Read(buffer, 0, buffer.Length); 
    34.               string strEntryName = item.FullName.Replace(strBaseDir, ""); 
    35.               ZipEntry entry = new ZipEntry(strEntryName); 
    36.               zos.PutNextEntry(entry); 
    37.               zos.Write(buffer, 0, buffer.Length); 
    38.               fs.Close(); 
    39.           } 
    40.       }   
    41.       
    42.  
    43.       PRotected void Button2_Click(object sender, EventArgs e) 
    44.        { 
    45.            string userPath ="D:\\华海实训(qqview.com)各级账号和密码"
    46.         
    47.               dlZipDir(userPath, "华海实训(qqview.com)服务账号"); 
    48.  
    49.        } 
    50.  
    51.       #endregion 

     

    相关热词: aspnet

    相关内容
       鲁ICP备14021093号 鲁B2-20140050   关于我们 | 广告合作 | 版权声明 | 意见反馈 | 联系方式 | 原创投稿 | 网站地图 |
    特效 教程 资源 资讯