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

14 篇文章 0 订阅
6 篇文章 0 订阅

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

 步骤
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


本篇文章来源于编程入门教程网(www.qqview.com) 原文出处:http://www.qqview.com/WebForm/ASP_NET/14375.html


如果是压缩小型的文件的话,以上代码是么有啥问题的,只要文件不超过150M

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值