[发明专利]服务器端多文件下载方法及系统有效
| 申请号: | 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.vipzhuanli.com/pat/books/201410065054.6/2.html,转载请声明来源钻瓜专利网。





