找回密码
 立即注册
查看: 975|回复: 4

asp.net实现文件夹及文件压缩,并实现下载

[复制链接]

148

回帖

1687

基友

1073

积分

通神3段 Lv.6

Rank: 3Rank: 3

发表于 2013-7-22 21:13:51 | 显示全部楼层 |阅读模式
步骤
1)先引用 ICSharpCode.SharpZipLib.dll;
2).cs文件引入
using System.IO;
using System.Text;
using ICSharpCode.SharpZipLib.Checksums;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.GZip;

3)代码

#region 下列代码为压缩并下载代码
       ZipOutputStream zos = null;
       String strBaseDir = "";

       void dlZipDir(string strPath, string strFileName)
       {
           MemoryStream ms = null;
           Response.ContentType = "application/octet-stream";
           strFileName = HttpUtility.UrlEncode(strFileName).Replace('+', ' ');
           Response.AddHeader("Content-Disposition", "attachment;   filename=" + strFileName + ".zip");
           ms = new MemoryStream();
           zos = new ZipOutputStream(ms);
           strBaseDir = strPath + "\\";
           addZipEntry(strBaseDir);
           zos.Finish();
           zos.Close();
           Response.Clear();
           Response.BinaryWrite(ms.ToArray());
           Response.End();
       }
       void addZipEntry(string PathStr)
       {
           DirectoryInfo di = new DirectoryInfo(PathStr);
           foreach (DirectoryInfo item in di.GetDirectories())
           {
               addZipEntry(item.FullName);
           }
           foreach (FileInfo item in di.GetFiles())
           {
               FileStream fs = File.OpenRead(item.FullName);
               byte[] buffer = new byte[fs.Length];
               fs.Read(buffer, 0, buffer.Length);
               string strEntryName = item.FullName.Replace(strBaseDir, "");
               ZipEntry entry = new ZipEntry(strEntryName);
               zos.PutNextEntry(entry);
               zos.Write(buffer, 0, buffer.Length);
               fs.Close();
           }
       }  
      
       PRotected void Button2_Click(object sender, EventArgs e)
        {
            string userPath ="D:\\华海实训(qqview.com)各级账号和密码";
        
               dlZipDir(userPath, "华海实训(qqview.com)服务账号");

        }
       #endregion
回复

使用道具 举报

104

回帖

124

基友

222

积分

凡人3阶 Lv.3

Rank: 2

发表于 2013-7-24 14:29:22 | 显示全部楼层
哇哇哇 流弊啊啊啊
回复 支持 反对

使用道具 举报

104

回帖

124

基友

222

积分

凡人3阶 Lv.3

Rank: 2

发表于 2013-7-24 14:29:33 | 显示全部楼层
哇哇哇 流弊啊啊啊
回复 支持 反对

使用道具 举报

93

回帖

110

基友

343

积分

凡人3阶 Lv.3

Rank: 2

发表于 2013-7-29 16:58:29 | 显示全部楼层
dddddddddddddddddddd
迎风是翅膀的命运
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|苍海国际 ( 鲁ICP备13020644号-1 )

GMT+8, 2024-11-1 07:23 , Processed in 0.053791 second(s), 22 queries .

Powered by Discuz! Theme By eRic Modified by 4bpa

© CangHai International We Do Our Rights!

返回顶部