[發明專利]服務器端多文件下載方法及系統有效
| 申請號: | 201410065054.6 | 申請日: | 2014-02-25 |
| 公開(公告)號: | CN103888513B | 公開(公告)日: | 2017-05-31 |
| 發明(設計)人: | 杜紅剛;王家賓;張穎;馬幸暉;黃柑波;潘浩 | 申請(專利權)人: | 世紀龍信息網絡有限責任公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司44224 | 代理人: | 王茹,向群 |
| 地址: | 510630 廣東省廣州市天河*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 服務器端 文件 下載 方法 系統 | ||
技術領域
本發明涉及計算機網絡技術領域,特別是涉及一種服務器端多文件邊壓縮邊下載的實現方法。
背景技術
隨著云計算技術的發展,云存儲逐漸成為人們備份數據的良好選擇。用戶可以把照片、音樂、視頻、文檔等輕松地保存到網絡,無須擔心文件丟失,并且使得文件的上傳和下載、管理、分享變得輕而易舉。
為了方便文件的管理,網絡硬盤中的文件一般會存放在一層或多層文件夾下。目前的下載工具一般只支持單個文件的下載,就算能夠批量下載文件,但下載完成后也不能保持原有的文件夾結構。
發明內容
基于此,本發明提供一種服務器端多文件下載方法及系統,能夠批量下載多個文件和文件夾并保持原有文件夾結構。
為實現上述目的,本發明采用如下的技術方案:
一種服務器端多文件下載方法,包括以下步驟:
當接收到客戶端發送的下載請求后,創建文件輸出流、壓縮流和壓縮文件輸出緩沖流,并初始化壓縮文件節點路徑;
獲取需要下載文件的文件ID,根據所述文件ID計算所有文件的文件夾結構,并從所述文件夾結構的第一層開始遍歷文件;
判斷當前文件節點是文件還是文件夾;
若當前文件節點是文件,則將該文件轉化為壓縮文件流并推送給所述客戶端;
若當前文件節點是文件夾,則判斷該文件夾下是否有文件或文件夾;若當前文件夾下有文件,則將該文件轉化為壓縮文件流并推送給所述客戶端;若當前文件夾下有文件夾,則采用遞歸的方法進行其下層文件的判斷;若當前文件夾下沒有文件或文件夾,則將該文件夾轉化為壓縮文件流并推送給所述客戶端;
所述將文件轉化為壓縮文件流并推送給所述客戶端的過程包括:獲取文件的下載地址,然后設置文件壓縮路徑名,并創建壓縮文件進入點;將從所述下載地址讀取到的文件字節流寫入當前壓縮路徑名下,得到壓縮內容緩存流;將當前為止的所有壓縮內容緩存流發送給所述客戶端;
所述將文件夾轉化為壓縮文件流并推送給所述客戶端的過程包括:設置文件夾壓縮路徑名,并創建壓縮文件夾進入點;將文件夾字節流寫入當前壓縮路徑名下,得到壓縮內容緩存流;將當前為止的所有壓縮內容緩存流發送給所述客戶端;
在獲取到需要下載文件的文件ID后,還包括步驟:設置壓縮文件包的名稱,將第一個文件ID對應的文件名稱作為壓縮文件包的名稱。
一種服務器端多文件下載系統,包括:
初始化模塊,用于當接收到客戶端發送的下載請求后,創建文件輸出流、壓縮流和壓縮文件輸出緩沖流,并初始化壓縮文件節點路徑;
計算模塊,用于獲取需要下載文件的文件ID,根據所述文件ID計算所有文件的文件夾結構,并從所述文件夾結構的第一層開始遍歷文件;
第一判斷模塊,用于判斷當前文件節點是文件還是文件夾;
第一轉化模塊,用于若當前文件節點是文件時,將該文件轉化為壓縮文件流并推送給所述客戶端;
第二判斷模塊,用于若當前文件節點是文件夾時,判斷該文件夾下是否有文件或文件夾;
第二轉化模塊,用于若當前文件夾下有文件時,將該文件轉化為壓縮文件流并推送給所述客戶端;
遞歸模塊,用于若當前文件夾下有文件夾時,采用遞歸的方法進行其下層文件的判斷;
第三轉化模塊,用于若當前文件夾下沒有文件或文件夾時,將該文件夾轉化為壓縮文件流并推送給所述客戶端;
其中,所述將文件轉化為壓縮文件流并推送給所述客戶端包括:獲取文件的下載地址,然后設置文件壓縮路徑名,并創建壓縮文件進入點;將從所述下載地址讀取到的文件字節流寫入當前壓縮路徑名下,得到壓縮內容緩存流;將當前為止的所有壓縮內容緩存流發送給所述客戶端;
所述將文件夾轉化為壓縮文件流并推送給所述客戶端包括:設置文件夾壓縮路徑名,并創建壓縮文件夾進入點;將文件夾字節流寫入當前壓縮路徑名下,得到壓縮內容緩存流;將當前為止的所有壓縮內容緩存流發送給所述客戶端;
所述服務器端多文件下載系統還包括:用于在獲取到需要下載文件的文件ID后,設置壓縮文件包的名稱,將第一個文件ID對應的文件名稱作為壓縮文件包的名稱的模塊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于世紀龍信息網絡有限責任公司,未經世紀龍信息網絡有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410065054.6/2.html,轉載請聲明來源鉆瓜專利網。





