一种文件下载方法、装置和系统制造方法及图纸

技术编号:11486482 阅读:55 留言:0更新日期:2015-05-21 04:20
本发明专利技术公开了一种文件下载方法、装置和系统,其中,所述方法包括:客户端根据配置信息判断出当前启用浏览器为第一浏览器时,得到并发送判断结果;接收判断结果反馈信息,所述判断结果反馈信息包括头信息,所述头信息为第一浏览器无法识别的文件类型;当切换到第二浏览器时,所述第二浏览器根据判断结果反馈信息进行下载。本发明专利技术能够保证文件的正常下载。

【技术实现步骤摘要】
一种文件下载方法、装置和系统
本专利技术涉及网络技术,尤其涉及一种文件下载方法、装置和系统。
技术介绍
目前,参见图1所示,通常采用如下技术进行文件下载:客户端的常规浏览器捕捉到下载按钮的点击事件以后,向服务器的下载文件的代理通用网关接口(CommonGatewayInterface,CGI)或实现下载功能的超文本预处理器(HypertextPreprocessor,PHP)文件,如download.php,发送下载请求,代理CGI通过请求CGI向大文件存储平台或架平接口发送文件的唯一标识信息(filekey),在通过验证后代理CGI可以通过请求CGI从大文件存储平台或架平接口获取验证信息(cookie)、域名(domain)和验证码(key),跳转至下载地址来获取文件,所述下载地址由所获取的domain和key组成,并且携带cookie信息。在实现过程中,参见图2所示,当客户端通过内嵌于应用的浏览器控件,如网络视图(webview),进行下载文件时,由于webview本身的限制,默认不提供下载机制,客户端侧的系统程序会调用常规浏览器来进行下载。由于cookie信息受浏览器安全机制保护,系统程序只会把所述文件对应的统一资源定位符(UniformResourceLocator,URL)发送给常规浏览器,不会将cookie信息发送给常规浏览器。导致常规浏览器无法通过服务器的验证,进而导致无法下载文件。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种文件下载方法、装置和系统,能够保证文件的正常下载。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术提供一种文件下载方法,所述方法包括:客户端根据配置信息判断出当前启用浏览器为第一浏览器时,得到并发送判断结果;接收判断结果反馈信息,所述判断结果反馈信息包括头信息,所述头信息为第一浏览器无法识别的文件类型;当切换到第二浏览器时,所述第二浏览器根据所述判断结果反馈信息进行文件下载。较佳地,所述判断包括:判断当前启用浏览器是否支持打开新窗口或标签,当不支持打开新窗口或标签时,判定当前启用浏览器为第一浏览器。较佳地,所述判断当前启用浏览器是否支持打开新窗口或标签之前,所述方法还包括:判断当前启用浏览器是否支持全屏显示当前网页的指定区域,当支持全屏显示当前网页的指定区域时,判定当前启用浏览器为第二浏览器;当不支持全屏显示网页中的指定区域时,执行判断当前启用浏览器是否支持打开新窗口或标签的步骤。本专利技术提供一种文件下载方法,所述方法包括:服务器接收判断结果;根据判断结果将头信息设置为第一浏览器无法识别的文件类型;将所述头信息封装到判断结果反馈信息中并发送所述判断结果反馈信息。较佳地,所述第一浏览器无法识别的文件类型为二进制文件或压缩文件。较佳地,所述判断结果以参数形式携带在请求消息中。本专利技术提供一种客户端,所述客户端包括:处理单元,用于根据配置信息判断出当前启用浏览器为第一浏览器时,得到并发送判断结果;第一接收单元,用于接收判断结果反馈信息;第二浏览器,用于当切换到第二浏览器时,所述根据判断结果反馈信息发送下载请求和下载参数。较佳地,所述处理单元包括第一判断子单元,用于判断当前启用浏览器是否支持打开新窗口或标签,当不支持打开新窗口或标签时,判定当前启用浏览器为第一浏览器。较佳地,所述处理单元还包括第二判断子单元,用于判断当前启用浏览器是否支持全屏显示当前网页的指定区域,当支持全屏显示当前网页的指定区域时,判定当前启用浏览器为第二浏览器;当不支持全屏显示网页中的指定区域时,通知第一判断子单元执行判断当前启用浏览器是否支持打开新窗口或标签的操作。本专利技术提供一种服务器,所述服务器包括:第二接收单元,用于接收判断结果;设置单元,用于根据判断结果将头信息设置为第一浏览器无法识别的文件类型;发送单元,用于将所述头信息封装到判断结果反馈信息中并发送所述判断结果反馈信息。较佳地,所述第一浏览器无法识别的文件类型为二进制文件或压缩文件。较佳地,所述判断结果以参数形式携带在请求消息中。本专利技术提供一种文件下载系统,所述文件下载系统前述任一种所述客户端、以及前述任一种所述服务器。由上可知,本专利技术的技术方案包括:客户端根据配置信息判断出当前启用浏览器为第一浏览器时,得到并发送判断结果;接收判断结果反馈信息,所述判断结果反馈信息包括头信息,所述头信息为第一浏览器无法识别的文件类型;当切换到第二浏览器时,所述第二浏览器根据所述判断结果反馈信息进行文件下载。由此,在当前启用浏览器为第一浏览器时,切换到第二浏览器,所述第二浏览器根据接收到的判断结果反馈信息能够正常进行文件下载。附图说明图1为现有技术中使用常规浏览器实现文件下载的原理示意图;图2为现有技术中使用webview下载文件的原理示意图;图3为本专利技术提供的一种文件下载方法的第一实施例的实现流程图;图4为本专利技术提供的一种文件下载方法实现文件下载的原理示意图;图5为本专利技术提供的一种文件下载方法的第二实施例的实现流程图;图6为本专利技术提供的一种文件下载方法的第三实施例的实现流程图;图7为本专利技术提供的另一种文件下载方法的实施例的实现流程图;图8为本专利技术提供的客户端的实施例的结构示意图;图9为本专利技术提供的服务器的实施例的结构示意图。具体实施方式专利技术提供的一种文件下载方法的第一实施例,如图3所示,所述方法包括:步骤301、客户端根据配置信息判断出当前启用浏览器为第一浏览器时,得到并发送判断结果;这里,第一浏览器包括内嵌于应用的浏览器控件,例如webview;所述判断结果可以以参数形式携带在请求消息中。在实际应用中,所述判断结果可以携带在超文本传输协议(HypertextTransferProtocol,HTTP)请求地址中的查询(query)部分的参数中,当所述参数为1时表示当前启用浏览器为第一浏览器。步骤302、客户端接收判断结果反馈信息,所述判断结果反馈信息包括头信息,所述头信息为第一浏览器无法识别的文件类型;这里,所述第一浏览器无法识别的文件类型为二进制文件或压缩文件。头信息指的是超文本传输协议(Hypertexttransferprotocol,HTTP)包体中的头(header)信息。这里,所述判断结果反馈信息可以是服务器向客户端返回的。步骤303、当切换到所述第二浏览器时,所述第二浏览器根据所述判断结果反馈信息进行文件下载。这里,第二浏览器包括常规浏览器,如GoogleChrome浏览器、Opera浏览器;第一浏览器无法识别二进制文件或压缩文件,遇到无法识别的文件会在常规浏览器中打开,第二浏览器能够打开二进制文件或压缩文件,并可以直接下载该文件。由此,本实施例在当前启用浏览器为第一浏览器时,切换到第二浏览器,所述第二浏览器根据接收到的判断结果反馈信息能够正常进行文件下载。下面结合图4对本专利技术提供的一种文件下载方法实现文件下载的原理进行解释说明,本实施例中第一浏览器为webview。当判断出当前启用浏览器为webview时,客户端将HTTP请求地址中的query部分的client设置为1,并将所述HTTP请求地址发送给服务器的download.php。download.php在执行的时候,只要捕捉到client为1且来源网址非空,就设置头(h本文档来自技高网...

【技术保护点】
一种文件下载方法,其特征在于,所述方法包括:客户端根据配置信息判断出当前启用浏览器为第一浏览器时,得到并发送判断结果;接收判断结果反馈信息,所述判断结果反馈信息包括头信息,所述头信息为第一浏览器无法识别的文件类型;当切换到第二浏览器时,所述第二浏览器根据所述判断结果反馈信息进行文件下载。

【技术特征摘要】
1.一种文件下载方法,其特征在于,所述方法包括:客户端根据配置信息判断出当前启用浏览器为第一浏览器时,得到并发送判断结果;接收判断结果反馈信息,所述判断结果反馈信息包括头信息,所述头信息为第一浏览器无法识别的二进制文件或压缩文件;当切换到第二浏览器时,所述第二浏览器根据所述判断结果反馈信息中包括的头信息进行文件下载;其中,所述第一浏览器包括内嵌于应用的浏览器控件,所述第二浏览器包括常规浏览器。2.根据权利要求1所述的方法,其特征在于,所述判断包括:判断当前启用浏览器是否支持打开新窗口或标签,当不支持打开新窗口或标签时,判定当前启用浏览器为第一浏览器。3.根据权利要求2所述的方法,其特征在于,所述判断当前启用浏览器是否支持打开新窗口或标签之前,所述方法还包括:判断当前启用浏览器是否支持全屏显示当前网页的指定区域,当支持全屏显示当前网页的指定区域时,判定当前启用浏览器为第二浏览器;当不支持全屏显示网页中的指定区域时,执行判断当前启用浏览器是否支持打开新窗口或标签的步骤。4.一种文件下载方法,其特征在于,所述方法包括:服务器接收判断结果,其中,所述判断结果表示当前启用浏览器为第一浏览器;根据判断结果将头信息设置为第一浏览器无法识别的二进制文件或压缩文件;将所述头信息封装到判断结果反馈信息中并发送所述判断结果反馈信息;其中,所述判断结果反馈信息用于当客户端从当前启用的第一浏览器切换到第二浏览器时进行文件下载;所述第一浏览器包括内嵌于应用的浏览器控件,所述第二浏览器包括常规浏览器。5.根据权利要求4所述的方法,其特征在于,所述判断结果以参数形式携带在请求消息中。6.一种客户端,其特征在于,所述客户端包括:处理单元,用于根据配置信息判断出当前启用浏览器为第一浏览器时...

【专利技术属性】
技术研发人员:谢福才
申请(专利权)人:腾讯科技北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1