你的位置:首页 > ASP.net教程

[ASP.net教程]使用SharpZip压缩与解压缩


使用SharpZip压缩与解压缩

编写人:左丘文

 

2015-4-11

大家在做项目时,相信会经常性的会遇到要对数据流或dataset byte[] 或文件进行压缩和解压缩,比如:利用webservice进行数据的更新与下载,如果在文件过大,如果不压缩相信肯定是传输入失败,今天在这里,我想与大家一起分享一下利用国外一开源的sharpzip类作为解压缩类来操作解压缩代码,在此做个小结,以供参考。有兴趣的同学,可以一同探讨与学习一下,否则就略过吧。

 

1、 之前做过一项目,该项目中有一个要与总部同步数据功能,客户端是通过internet与总部进行通讯,数据的传递,我们利用的是webservice,传递的数据是dataset,刚开始我是直接将dataset当作参数,直接传递,数据小的时候,没什么问题,但数据一大,就基本上是失败的。这时候,我们就必须用到了压缩了,我们在传输前先对其进行压缩,服务器接收后,再进行解压,更新到服务器数据库中。

2、 我们可以在 http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx 下载源码。

以下是我下载后的webservice的整体框架图:

      

3、 Sharpzip完整代码

     View Code

1)         我们这里参数前面部分是以object的形式输入,返回为byte[],并且这些都是成队使用。

2)         后面部分可以直接将byte[]作为参数输入,并压缩后返回byte[],当然这里也是压缩与解压都是成对使用。

4、 Sharpzip基类的功能,其实主要用于对文件的压缩,以下是对文件压缩的操作代码:

1)   对文件的操作,以下代码转自,大家可以详细看看。

http://blog.itpub.net/12639172/viewspace-553427/

      View Code

2)   另外也有一个写得相当不错,大家可以参考一下(并且有源码下载) http://www.xocoder.com/archives/1050

5、 有关更多的技术分享,大家可以加入我们的技术群,进行源码的分享。

 

欢迎加入技术分享群:238916811