一种文件传输方法及装置的制造方法

文档序号:9711601阅读:492来源:国知局
一种文件传输方法及装置的制造方法
【专利说明】
【技术领域】
[0001]本发明涉及互联网技术领域,尤其涉及一种文件传输方法及装置。
【【背景技术】】
[0002]随着互联网技术的发展,网站与浏览器之间的交互越来越多,从最初的表单提交发展到异步脚本和可扩展标记语言(Asynchronous JavaScript And Extensible MarkupLanguage,AJAX)交互,从使用脚本简单控制文档对象模型树中的元素,到可以使用画布在页面上呈现各种复杂的二维或者三维图形。但是,基于超文本标记语言(Hyper TextMarkup Language,HTML)的文件上传技术却没有较大发展,文件上传可以满足较小文件的上传,但对于较大文件的上传,往往由于网络不稳定而导致文件上传失败。
[0003]现有技术中,为了解决大文件上传的问题,通过在浏览器中安装插件或者在浏览器中编入代码来实现大文件的分片,然后将文件片段上传到服务器。然而,利用插件或者编辑的代码实现对文件进行分片的处理方式,导致文件的分片处理成本较高,文件的分片处理的效率比较低。

【发明内容】

[0004]有鉴于此,本发明实施例提供了一种文件传输方法及装置,降低了文件的分片处理成本,提高了文件的分片处理的效率。
[0005]本发明实施例的一方面,提供一种文件传输方法,包括:
[0006]在浏览器运行过程中,调用所述浏览器提供的文件操作接口,以访问文件;
[0007]从所述文件中获取文件片段;
[0008]向服务器发送第一文件上传请求,所述第一文件上传请求携带所述文件片段、片段编号和所述文件的标识,以便于所述服务器根据所述文件片段、片段编号和所述文件的标识,对所述文件片段进行存储。
[0009]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,从所述文件中获取文件片段,包括:利用切片Slice方法对所述文件进行切片,并获得Slice方法返回的文件片段。
[0010]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述在浏览器运行过程中,调用所述浏览器提供的文件操作接口,以访问文件之前,所述方法还包括:向所述服务器发送第二文件上传请求,所述第二文件上传请求携带所述文件的标识,以便于所述服务器根据所述文件的标识,检测所述文件是否存在已经上传过的文件片段,若不存在已经上传过的文件片段,返回用于指示所述文件未上传的状态码;
[0011]从所述文件中获取文件片段,包括:从所述文件的第0字节开始,根据指定长度,对所述文件进行切片,以获得所述文件片段。
[0012]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述在浏览器运行过程中,调用所述浏览器提供的文件操作接口,以访问文件之前,所述方法还包括:向所述服务器发送第三文件上传请求,所述第三文件上传请求携带所述文件的标识,以便于所述服务器根据所述文件的标识,检测所述文件是否存在已经上传过的文件片段,若存在已经上传过的文件片段,返回已经上传过的文件片段的标识;
[0013]从所述文件中获取文件片段,包括:根据返回已经上传过的文件片段的标识,对所述文件进行切片,以获得没有上传过的文件片段。
[0014]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
[0015]向所述服务器发送文件下载请求,所述文件下载请求携带文件的标识,以便于所述服务器根据所述文件的标识,查询文件存储记录表,以获得各文件片段的存储位置信息,以及根据各文件片段的存储位置信息,从其他服务器获取各文件片段,并返回各文件片段;
[0016]接收并合并各文件片段。
[0017]本发明实施例的一方面,提供一种文件传输装置,包括:
[0018]处理模块,用于在浏览器运行过程中,调用所述浏览器提供的文件操作接口,以访问文件;
[0019]分片模块,用于从所述文件中获取文件片段;
[0020]输入输出模块,用于向服务器发送第一文件上传请求,所述第一文件上传请求携带所述文件片段、片段编号和所述文件的标识,以便于所述服务器根据所述文件片段、片段编号和所述文件的标识,对所述文件片段进行存储。
[0021]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述分片模块,具体用于:
[0022]利用切片Slice方法对所述文件进行切片,并获得Slice方法返回的文件片段。
[0023]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述输入输出模块,还用于:向所述服务器发送第二文件上传请求,所述第二文件上传请求携带所述文件的标识,以便于所述服务器根据所述文件的标识,检测所述文件是否存在已经上传过的文件片段,若不存在已经上传过的文件片段,返回用于指示所述文件未上传的状态码;
[0024]所述分片模块,具体用于:从所述文件的第0字节开始,根据指定长度,对所述文件进行切片,以获得所述文件片段。
[0025]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述输入输出模块,还用于:向所述服务器发送第三文件上传请求,所述第三文件上传请求携带所述文件的标识,以便于所述服务器根据所述文件的标识,检测所述文件是否存在已经上传过的文件片段,若存在已经上传过的文件片段,返回已经上传过的文件片段的标识;
[0026]所述分片模块,具体用于:根据返回已经上传过的文件片段的标识,对所述文件进行切片,以获得没有上传过的文件片段。
[0027]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述输入输出模块,还用于向所述服务器发送文件下载请求,所述文件下载请求携带文件的标识,以便于所述服务器根据所述文件的标识,查询文件存储记录表,以获得各文件片段的存储位置信息,以及根据各文件片段的存储位置信息,从其他服务器获取各文件片段,并返回各文件片段;
[0028]所述输入输出模块,还用于接收各文件片段;
[0029]所述装置还包括:合并模块,用于合并所述接收模块接收的各文件片段。
[0030]由以上技术方案可以看出,本发明实施例具有以下有益效果:
[0031]本发明实施例提供的技术方案中,浏览器提供了操作文件的文件操作接口,浏览器中运行的web应用可以轻松地通过JavaScript引擎来访问文件,从而可以对文件进行分片处理,并将文件片段传输到服务器进行存储。与现有技术中,使用插件或者代码实现对文件进行分片的处理方式相比,降低了文件的分片处理成本,提高了文件的分片处理的效率。也可以避免现有技术中由于使用插件给浏览器带来的不稳定问题,提高了文件分片处理以及传输的可靠性。
【【附图说明】】
[0032]为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0033]图1是本发明实施例所提供的文件传输方法的实施例一的流程示意图;
[0034]图2是本发明实施例所提供的文件传输方法的实施例二的流程示意图;
[0035]图3是本发明实施例所提供的文件传输方法的实施例三的流程示意图;
[0036]图4是本发明实施例所提供的文件传输方法的实施例四的流程示意图;
[0037]图5是本发明实施例所提供的文件传输装置的实施例一的功能方块图;
[0038]图6是本发明实施例所提供的文件传输装置的实施例二的功能方块图。
【【具体实施方式】】
[0039]为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
[0040]应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0041 ]在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
[0042]应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,六和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1