文件传输方法和装置制造方法及图纸

技术编号:14534486 阅读:75 留言:0更新日期:2017-02-02 19:37
本发明专利技术公开了一种文件传输方法和装置。该方法包括:浏览器通过主进程的第一应用接口向服务器发送文件传输请求,文件传输请求用于指示向服务器传输目标文件,目标文件是浏览器通过第一应用接口获取到的,且预先由浏览器的第二应用接口划分成多个文件分片;浏览器通过第一应用接口接收服务器发送的确认消息,确认消息用于指示服务器中已存在的第一文件分片集合,第一文件分片集合包括多个文件分片中已被服务器接收到的文件分片;浏览器通过第一应用接口将多个文件分片中除第一文件分片集合之外的文件分片传输给服务器。本发明专利技术解决了相关技术中由于移动端浏览器不支持插件,导致在移动端浏览器中无法实现文件的断点续传的技术问题。

File transmission method and device

The invention discloses a method and a device for file transmission. The method includes: the browser sends a request to the file server transmission through the first application interface process, file transfer request for instructions to the server file transfer target, the target file is the first access to the browser through the application interface, and second in advance by the browser application interface divided into multiple files patch; Browser server sends confirmation messages received through the first application interface, a confirmation message for the first file already exists in the slice set indicates that the server, the first file slice set includes a plurality of file partition has been received by the server file slice; in addition to the first file partition set file browser through the first application interface multiple file partition in the slice is transmitted to the server. The invention solves the technical in the mobile terminal browser does not support plug-in problem that the HTTP file could not be achieved in the mobile terminal in the browser.

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体而言,涉及一种文件传输方法和装置。
技术介绍
目前,用户通过浏览器上传文件通常可以采用以下几种方式:(1)通过浏览器FileAPI以表单的形式传输给服务器。这种方式能够兼容移动端浏览器,但是,对于数据量较大的文件会造成服务器接口压力增加,并且如果文件传输中断,则需要重新上传该文件。(2)通过浏览器中安装的flash插件将文件传输给服务器。这种方式可以实现文件的断点续传,但是无法传输数据量较大的文件,且需要在浏览器中安装flash插件,由于移动端浏览器不支持该flash插件,将会造成在移动端浏览器中无法实现文件的断点续传。(3)通过浏览器中安装的ftn插件将文件传输给服务器。这种方式可以实现文件的断点续传,也能够传输数据量较大的文件,但是,该方式需要在浏览器中安装ftn插件,由于移动端浏览器也不支持该ftn插件,也将会造成在移动端浏览器中无法实现文件的断点续传。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种文件传输方法和装置,以至少解决相关技术中由于移动端浏览器不支持插件,导致在移动端浏览器中无法实现文件的断点续传的技术问题。根据本专利技术实施例的一个方面,提供了一种文件传输方法,包括:浏览器通过主进程的第一应用接口向服务器发送文件传输请求,其中,文件传输请求用于指示向服务器传输目标文件,目标文件是浏览器通过第一应用接口获取到的,且目标文件预先由浏览器的第二应用接口划分成多个文件分片;浏览器通过第一应用接口接收服务器发送的确认消息,其中,确认消息用于指示服务器中已存在的第一文件分片集合,第一文件分片集合包括多个文件分片中已被服务器接收到的文件分片;浏览器通过第一应用接口将多个文件分片中除第一文件分片集合之外的文件分片传输给服务器。根据本专利技术实施例的另一方面,还提供了一种文件传输装置,包括:发送单元,用于浏览器通过主进程的第一应用接口向服务器发送文件传输请求,其中,文件传输请求用于指示向服务器传输目标文件,目标文件是浏览器通过第一应用接口获取到的,且目标文件预先由浏览器的第二应用接口划分成多个文件分片;接收单元,用于浏览器通过第一应用接口接收服务器发送的确认消息,其中,确认消息用于指示服务器中已存在的第一文件分片集合,第一文件分片集合包括多个文件分片中已被服务器接收到的文件分片;第一传输单元,用于浏览器通过第一应用接口将多个文件分片中除第一文件分片集合之外的文件分片传输给服务器。在本专利技术实施例中,浏览器通过主进程的第一应用接口向服务器发送文件传输请求,并在浏览器通过第一应用接口接收到服务器发送的确认消息之后,再通过第一应用接口将多个文件分片中除第一文件分片集合之外的文件分片传输给服务器,其中,目标文件是浏览器通过第一应用接口获取到的且预先由浏览器的第二应用接口划分成多个文件分片,确认消息用于指示服务器中已存在的第一文件分片集合,第一文件分片集合包括多个文件分片中已被服务器接收到的文件分片,达到了无需在浏览器中安装插件亦可以实现文件的断点续传的目的,进而解决了相关技术中由于移动端浏览器不支持插件,导致在移动端浏览器中无法实现文件的断点续传的技术问题,从而实现了简化浏览器设置,优化浏览器性能的技术效果。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的文件传输方法的硬件环境的示意图;图2是根据本专利技术实施例的一种可选的文件传输方法的流程图;图3是根据本专利技术实施例的文件传输方法的模型架构的示意图;图4是根据本专利技术实施例的一种可选的文件传输装置的示意图;图5是根据本专利技术实施例的另一种可选的文件传输装置的示意图;图6是根据本专利技术实施例的另一种可选的文件传输装置的示意图;图7是根据本专利技术实施例的另一种可选的文件传输装置的示意图;图8是根据本专利技术实施例的另一种可选的文件传输装置的示意图;以及图9是根据本专利技术实施例的一种终端的结构框图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。首先,在对本专利技术实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:HTML5:万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改。WebWorker:HTML5标准下的一种浏览器主进程的应用接口。FileReader:HTML5标准下的一种对文件支持流式操作的应用接口。FormData:HTML5标准下的一种对表单的扩展实现的应用接口。实施例1根据本专利技术实施例,提供了一种文件传输方法的方法实施例。可选地,在本实施例中,上述文件传输方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本专利技术实施例的文件传输方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本专利技术实施例的文件传输方法也可以是由安装在其上的客户端来执行。在对本专利技术实施例的文件传输方法进行详细介绍之前,此处首先介绍两种文件传输方式:秒传:从用户感受上来说就是感觉文件一下就上传至浏览器网页,上传时间较短。从技术实现上来说,服务器中已经存在了该文件,当用户发起上传该文件的请求时,服务器可以直接响应请求并通知用户该文件已经存在,可以直接完成该文件的上传。需要说明的是,秒传需要将文件的哈希值通知给服务器,服务器可以依据接收到的哈希值判断该文件是否已存在,如果服务器判断出该文件已存在,则会返回一个标记位通知用户。续传:是用户首次上传该文件时可能由于网络中断等原因导致首次上传失败,当用户再次发起对该文件的上传请求时,可以首先向服务器发送该文件的哈希值,服务器可以对其进行处理并返回已经上传的文件的大小,以实现从该文件的这个大小之后的文件分片开始上传。需要说明的是,本专利技术实施例中的文件传输方法重点说明了如何无需在浏览器中安装插件利用浏览器的应用接口亦可以实现文件的断点续传。图2是根据本专利技术实施例的一种可选的文件传输方法的流程图,如图2所示,该方法可以包括以下步骤:步骤本文档来自技高网
...

【技术保护点】
一种文件传输方法,其特征在于,包括:浏览器通过主进程的第一应用接口向服务器发送文件传输请求,其中,所述文件传输请求用于指示向所述服务器传输目标文件,所述目标文件是所述浏览器通过所述第一应用接口获取到的,且所述目标文件预先由所述浏览器的第二应用接口划分成多个文件分片;所述浏览器通过所述第一应用接口接收所述服务器发送的确认消息,其中,所述确认消息用于指示所述服务器中已存在的第一文件分片集合,所述第一文件分片集合包括所述多个文件分片中已被所述服务器接收到的文件分片;所述浏览器通过所述第一应用接口将所述多个文件分片中除所述第一文件分片集合之外的文件分片传输给所述服务器。

【技术特征摘要】
1.一种文件传输方法,其特征在于,包括:浏览器通过主进程的第一应用接口向服务器发送文件传输请求,其中,所述文件传输请求用于指示向所述服务器传输目标文件,所述目标文件是所述浏览器通过所述第一应用接口获取到的,且所述目标文件预先由所述浏览器的第二应用接口划分成多个文件分片;所述浏览器通过所述第一应用接口接收所述服务器发送的确认消息,其中,所述确认消息用于指示所述服务器中已存在的第一文件分片集合,所述第一文件分片集合包括所述多个文件分片中已被所述服务器接收到的文件分片;所述浏览器通过所述第一应用接口将所述多个文件分片中除所述第一文件分片集合之外的文件分片传输给所述服务器。2.根据权利要求1所述的方法,其特征在于,所述浏览器通过主进程的第一应用接口向服务器发送文件传输请求包括:所述浏览器通过所述主进程调用所述第一应用接口的进程,并向所述第一应用接口的进程传输第一参数,其中,所述第一参数用于指向所述目标文件;所述浏览器执行所述第一应用接口的进程,对所述第一参数指向的所述目标文件进行处理,得到处理结果,其中,所述文件传输请求中携带有所述处理结果;所述浏览器通过所述第一应用接口的进程调用数据传输接口将所述文件传输请求发送给所述服务器。3.根据权利要求2所述的方法,其特征在于,所述浏览器执行所述第一应用接口的进程,对所述第一参数指向的所述目标文件进行处理,得到处理结果包括:所述浏览器通过所述第一应用接口的进程调用所述第二应用接口的进程,将所述目标文件划分成所述多个文件分片;所述浏览器通过所述第一应用接口的进程接收所述第二应用接口的进程返回的所述多个文件分片,并计算所述多个文件分片中的每个文件分片的哈希值。4.根据权利要求1所述的方法,其特征在于,所述浏览器通过所述第一应用接口将所述多个文件分片中除所述第一文件分片集合之外的文件分片传输给所述服务器包括:所述浏览器响应所述确认消息确定所述多个文件分片中待开始传输的第一文件分片,其中,所述第一文件分片为第二文件分片集合中的第一个文件分片或随机一个文件分片,所述第二文件分片集合包括所述多个文件分片中除所述第一文件分片集合之外的文件分片;所述浏览器通过所述第一应用接口从所述第一文件分片开始向所述服务器传输所述第二文件分片集合中的文件分片。5.根据权利要求1所述的方法,其特征在于,在所述浏览器通过所述第一应用接口接收所述服务器发送的确认消息之后,所述方法还包括:所述浏览器通过所述第一应用接口确定所述目标文件的传输进度,其中,所述传输进度由所述第一文件分片集合的大小和所述目标文件的大小所指示;所述浏览器通过所述主进程将所述传输进度传输并显示到所述浏览器的显示页面中。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一应用接口为所述浏览器的WebWorker,所述第二应用接口为所述浏览器的FileRe...

【专利技术属性】
技术研发人员:蔡斌姚穗斌
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1