当前页面位置: » 丰搜网 » 文档中心 » 详细内容
实时zip压缩下载整个目录
要下载整个目录,一般方法是一个个文家下载或ftp工具
现在用sharpziplib就能实现实时zip压缩下载整个目录
sharpziplib提供了多种压缩算法的支持,纯csharp代码,参见
http://www.icsharpcode.net/opensource/sharpziplib/default.asp
原理是通过递归方法将每个文件压缩到zipoutputstream,然后下载
代码和范例如下:
<%@ import namespace="icsharpcode.sharpziplib.zip" %>
<%@ import namespace="system.io" %>
<script language="c#" runat="server">
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();
}
}
void page_load(){
dlzipdir(server.mappath("."),"test");
}
</script>
出处:csdn
责任编辑:蓝色
◎进入论坛网络编程版块参加讨论
| 革命性的flash应用程序优化工具 文本的无损压缩和还原 wsh调用winzip命令进行打包压缩 | | 正则的几个基本概念 实时切换big5/gb2312简繁体 n(n>>2)幅图片轮换擦洗显示 asp动态include文件 实时zip压缩下载整个目录 | | | | 保持清晰的文档结构 | | | 月亮图腾教程ⅴ—最后一战 | | | x-sapce使用系列教程 | | | x-space安装系列教程 | | | 抽线以及虚线画法简明教程 | | | 创新设计 百万格子大楼 | | | discuz!转换系列教程 | | | 世界杯足球的32个变种 | | | 易上手简单图层样式扣图 | | | 一封写给mm学习linux的信 | | | | | | 保持清晰的文档结构 | | | 月亮图腾教程ⅴ—最后一战 | | | x-sapce使用系列教程 | | | x-space安装系列教程 | | | 抽线以及虚线画法简明教程 | | | discuz!转换系列教程 | | | 易上手简单图层样式扣图 | | | 十分钟学会 xajax | | | css 菜单举一反三 | | | 利用照片制作版画简明教程 | | | | | 蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。 特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有 | | 本文现有 1 条评论 暂时没有人参于评分 219.140.44.71 publish at 2004-4-3 15:30:15 秋水无恨 请问<%@ import namespace="icsharpcode.sharpziplib.zip" %> 中的icsharpcode.sharpziplib.zip是什么意思 我刚接触asp.net两个多月,有很多不懂的地方,我们公司要我做一个书目下载 可我不会将文件用csharp代码压缩,请多指教,谢谢!!
| | |
| 关于站点 免责声明 联系站长 版权隐私 友情链接 网站地图 京icp备05002321号 | ©1999-2006 blueidea.com. 版权所有 | |