一种实现压缩包内文件在浏览器中预览的方法与流程

文档序号:26278729发布日期:2021-08-13 19:35阅读:737来源:国知局
一种实现压缩包内文件在浏览器中预览的方法与流程

本发明涉及一种实现压缩包内文件在浏览器中预览的方法,尤其涉及一种基于java实现兼容各种压缩包以及压缩包内文件在浏览器中预览的方法。



背景技术:

在一定情景下,我们通常会在浏览器中接收到压缩包文件,通常我们会将压缩包下载下来,之后再通过解压软件对其进行解压,解压之后才能打开预览,这样的操作一来是动作程序繁复,二来是延迟了预览时间,非常的不便,三来就是必须通过下载,不能直接打开预览,这还存在着再次打开预览同一压缩文件时重复下载的嫌疑,增加了工作负担。

因此,亟需提出一种新的技术方案来解决上述问题。



技术实现要素:

本发明的目的是解决现有技术中存在的问题,提供一种实现压缩包内文件在浏览器中预览的方法,采用的技术方案是:

一种实现压缩包内文件在浏览器中预览的方法,包括:

在计算机服务器端植入解压程序,服务器端调用所述解压程序对压缩包文件进行解压,通过程序转化获得被压缩文件的文件结构信息及数据内容信息;

用户通过点击浏览器页面上的压缩包文件预览按键向所述服务器端发出预览请求,所述服务器端调用所述解压程序对所述压缩包文件进行解压,解压过程中生成转译程序,所述浏览器将所述转译程序转化后获得被压缩文件的文件结构信息及数据内容信息;

所述浏览器根据获得的被压缩文件的文件结构信息及数据内容信息完成页面渲染,获得预览页面,所述预览页面显示所述被压缩文件的文件目录信息、文件结构信息、文件类型信息及文件名信息。

上述技术方案进一步的,所述解压程序包括zip解压模块、rar解压模块、7z解压模块、gz解压模块。

进一步的,所述服务器端调用所述解压程序对所述压缩包文件进行解压时生成的所述转译程序携带有被压缩文件的文件结构信息及数据内容信息,所述浏览器通过自身程序脚本对所述转译程序进行转化,获得被压缩文件的文件结构信息及数据内容信息,且通过渲染模块完成页面渲染获得所述预览页面。

更进一步的,服务器端调用所述解压程序对所述压缩包文件进行解压时,所述解压程序先判断所述压缩包文件的类型,再根据所述类型调用对应的解压模块对所述压缩包文件进行解压,解压过程中生成所述转译程序。

更进一步的,所述解压模块对所述压缩包文件进行解压时,所述解压模块获取被压缩文件的文件夹结构、大小和名称,以及被压缩文件的文档信息内容,生成所述转译程序,所述转译程序被所述浏览器进行程序转化。

更进一步的,于所述浏览器的支持程序中植入所述渲染模块,或,于所述浏览器的支持程序中植入与所述渲染模块程序连接的接口,当所述浏览器完成对所述转译程序的转化时,所述浏览器调用所述渲染模块根据所述转译程序的转译结果进行页面渲染,得到所述压缩包文件的预览页面。

进一步的,所述预览页面上显示所述压缩包文件内的被压缩文件的数据内容,所述数据内容包括被压缩文件的层级结构信息、文件夹名称、文件大小和文件类型。

进一步的,所述渲染模块根据被压缩文件的数据内容信息完成所述浏览器的页面渲染,所述页面渲染包括所述压缩包文件中的文件目录结构信息。

进一步的,所述浏览器的预览页面显示所述被压缩文件的文件目录信息、文件结构信息、文件类型信息及文件名信息,用户通过点击所述预览页面上的文件名向服务器端发送文件查看请求,所述服务器端调用程序打开所述文件名对应的文件,打开过程中,调用的打开程序与所述浏览器的支持程序形成数据交互,所述浏览器获取所述打开程序解码后的文件信息,并对所述文件信息进行转化,浏览器内渲染出所述文件的文件查看页面。

进一步的,所述压缩包文件中的文件格式包括office文件格式、图片格式、文本文件格式和pdf格式。

与现有技术相比,本发明具有如下有益效果中的一个或多个:

1.本发明提供一种实现压缩包内文件在浏览器中预览的方法,实现用户可以在浏览器中查看预览压缩包文件,同时可以继续预览压缩包中的office文件,这种方法满足了用户对速度以及功能的要求,减轻了工作负担和预览时间;

2.利用本发明所述的方法,用户可以点击压缩包内任一文件,根据后缀名判断是否可以预览,(目前支持常用office格式,图片,文本文件,pdf等),若是可以预览的类型,用户点击要预览的文件的图标,给服务器一个触发点,则服务器会调用解压程序获得被压缩文件的数据内容,生成被压缩文件的预览内容,并返回给用户预览查看。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1是用户利用本发明所述方法预览压缩包文件的第一步的窗口示意图;

图2是用户在图1所示窗口中点击预览文件图标后,通过所述解压程序解压预览的文件预览页面窗口示意图,其中被点击预览的文件格式为pdf格式;

图3是是用户在图1所示窗口中点击预览文件图标后,通过所述解压程序解压预览的文件预览页面窗口示意图,其中被点击预览的文件格式为图片格式。

具体实施方式

下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要理解的是,术语“上”、“下”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或者元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

下面结合附图与实施例进一步说明本发明要旨。

实施例:

针对现有技术中存在的问题,本发明提供一种实现压缩包内文件在浏览器中预览的方法,请参见图1-3。

一种实现压缩包内文件在浏览器中预览的方法,包括:

在计算机服务器端植入解压程序,用户将压缩包文件上传系统后,服务器端调用所述解压程序对所述压缩包文件进行解压,通过程序转化获得被压缩文件的文件结构信息及数据内容信息;

进一步的,用户通过点击浏览器页面上的压缩包文件预览按键向所述服务器端发出预览请求,服务器端调用所述解压程序对所述压缩包文件进行解压,解压过程中生成转译程序,所述浏览器将所述转译程序转化后获得被压缩文件的文件结构信息及数据内容信息;

进一步的,所述浏览器根据获得的被压缩文件的文件结构信息及数据内容信息完成页面渲染,获得预览页面,所述预览页面显示所述被压缩文件的文件目录信息、文件结构信息、文件类型信息及文件名信息。

在一种实施例中,所述解压程序包括zip解压模块、rar解压模块、7z解压模块、gz解压模块,这些模块是java中提供的压缩包解析对应的不同格式与功能的类别,还可以包括有其他模块。

在一种实施例中,所述服务器端调用所述解压程序对所述压缩包文件进行解压时生成的所述转译程序携带有被压缩文件的文件结构信息及数据内容信息,所述浏览器通过自身程序脚本对所述转译程序进行转化,获得被压缩文件的文件结构信息及数据内容信息,且通过渲染模块完成页面渲染获得所述预览页面。

在一种实施例中,用户将压缩包文件上传系统后,服务器端调用所述解压程序对所述压缩包文件进行解压时,所述解压程序先判断所述压缩包文件的类型,再根据所述类型调用对应的解压模块对所述压缩包文件进行解压,解压过程中生成所述转译程序。所述转译程序可以是json文件。

在一种实施例中,所述解压模块对所述压缩包文件进行解压时,所述解压模块获取被压缩文件的文件夹结构、大小和名称,以及被压缩文件的文档信息内容,生成所述转译程序,所述转译程序被所述浏览器进行程序转化。

在一种实施例中,于所述浏览器的支持程序中植入所述渲染模块,或,于所述浏览器的支持程序中植入与所述渲染模块程序连接的接口,当所述浏览器完成对所述转译程序的转化时,所述浏览器调用所述渲染模块根据所述转译程序的转译结果进行页面渲染,得到所述压缩包文件的预览页面。

在一种实施例中,所述预览页面上显示所述压缩包文件内的被压缩文件的数据内容,所述数据内容包括被压缩文件的层级结构信息、文件夹名称、文件大小和文件类型。

在一种实施例中,所述渲染模块根据被压缩文件的数据内容信息完成所述浏览器的页面渲染,所述页面渲染包括所述压缩包文件中的文件目录结构信息,在浏览器中渲染出一个页面,所述解压程序就是服务器端的程序,基于服务器端做到压缩包的解压渲染预览页面。

在一种实施例中,所述浏览器的预览页面显示所述被压缩文件的文件目录信息、文件结构信息、文件类型信息及文件名信息,用户通过点击所述预览页面上的文件名向服务器端发送文件查看请求,所述服务器端调用程序打开所述文件名对应的文件,打开过程中,调用的打开程序与所述浏览器的支持程序形成数据交互,所述浏览器获取所述打开程序解码后的文件信息,并对所述文件信息进行转化,浏览器内渲染出所述文件的文件查看页面。

在一种实施例中,所述压缩包文件中的文件格式包括office文件格式、图片格式、文本文件格式和pdf格式。

本发明所述实现压缩包内文件在浏览器中预览的方法的实现原理是:

用户上传压缩包文件后,通过服务端相关的java程序对压缩文件进行解析(解压),针对不同格式的压缩文件:

若是zip格式的压缩包则采用后台zip相关代码(zip解压模块),解压zip文件,获取zip包中的文档及文件夹结构、大小和名称等数据结构;

若是rar格式的压缩包则调用服务端rar相关程序(rar解压模块),解压rar文件,获取rar包中的文档及文件夹结构、大小和名称等数据结构,其他压缩格式类似,最终服务端生成压缩包中文件结构的数据内容,所述数据内容包括文件夹的层级结构信息、文件夹名称、文件大小和文件类型等。

当用户预览该压缩包文件时,其网页页面中的js(javascript技术)代码前端,即解压程序的前端根据对应文件的数据内容,采用渲染模块(css技术)对预览页面进行渲染,即渲染压缩包内容。

用户可以点击压缩包内任一文件,根据后缀名判断是否可以预览,目前支持常用office格式(如word、excel和ppt)、图片格式(如jpg格式、png格式、gif格式等)、文本文件格式(如txt格式)和pdf格式等,若是可以预览的格式,则服务器会解压程序解压出数据内容,并渲染生成该文件的预览内容返回给用户预览查看。

服务器端所述解压程序对压缩文件的解析部分的代码如下:

请继续参见图1-3,图1是用户利用本发明所述方法预览压缩包文件的第一步的窗口示意图;图2是用户在图1所示窗口中点击预览文件图标后,通过所述解压程序解压预览的文件预览页面窗口示意图,其中被点击预览的文件格式为pdf格式;图3是是用户在图1所示窗口中点击预览文件图标后,通过所述解压程序解压预览的文件预览页面窗口示意图,其中被点击预览的文件格式为图片格式。

图1-3进一步证实了用户利用本发明所述的方法,可以点击压缩包内任一文件,根据后缀名判断是否可以预览,(目前支持常用office格式,图片,文本文件,pdf等),若是可以预览的类型,用户点击要预览的文件的图标,给服务器一个触发点,则服务器会调用解压程序获得被压缩文件的数据内容,生成被压缩文件的预览内容,并返回给用户预览查看。

综上所述,本发明提供一种实现压缩包内文件在浏览器中预览的方法,实现用户可以在浏览器中查看预览压缩包文件,同时可以继续预览压缩包中的office文件,这种方法满足了用户对速度以及功能的要求,减轻了工作负担和预览时间。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域人员可以将本说明书中描述的不同实施例或示例进行接合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1