編寫人:左丘文
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
新聞熱點
疑難解答