一种文件上传、保存方法及装置制造方法及图纸

技术编号:12661625 阅读:86 留言:0更新日期:2016-01-06 20:26
本发明专利技术提供了一种文件上传、保存方法及装置,包括确定需上传文件,并给予文件标识;将该文件切割成文件块后,在上传请求中携带文件标识,并依次上传文件块;在文件传输中断时,请求返回上传进度,并在上传进度返回后根据上传进度上传需上传文件中的未上传文件部分;网络侧保存终端上传的需上传文件的文件块,并在每次保存成功后更新需上传文件的上传进度,当终端请求上传进度时将该上传进度反馈给终端,并在上传进度发送后接收并保存终端上传的需上传文件的未上传文件部分。采用本发明专利技术的技术方案,可以避免同一文件的重复上传,大大减少了用户等待时间,不需要客户端安装ActiveX控件或者重新编译,简单方便的实现文件上传的断点续传。

【技术实现步骤摘要】

本专利技术涉及互联网数据传输
,尤其涉及一种文件上传、保存方法及装置
技术介绍
基于互联网超文本传输协议(HTTP,Hypertexttransferprotocol)的文件上传和下载技术都已经较为成熟,使用也很广泛。一般的浏览器上都支持对文件下载的断点续传,当用户下载一个文件时,只要勾选“断点续传”单选框就能够使用该功能。但对于基于HTTP协议的文件上传服务,浏览器却没有支持。在浏览器中,为了上传文件一般是使用一个标记为multipart/form-data的表单,向服务器发送post请求,并把该文件作为一个数据字段放在请求的数据中上传。每次上传一个文件都是一次性的,只有当文件完全上传到服务器以后,服务器通过执行脚本将上传的文件保存在服务器后,才会返回告诉浏览器上传已完成。如果文件没有完全上传到服务器,服务器并不会保存上传的文件,因此,在这种情况下也不会向客户端有任何反馈。如果上传失败,浏览器对于上传进度也就无从知晓,进一步也就不知道下次上传的起始位置。因此,用户就需要完全重新再次上传。目前为了支持文件上传的断点续传功能,一种方案是在浏览器中使用ActiveX控件,但这种方式需要安装ActiveX控件,而现有的浏览器中只有IE浏览器支持ActiveX控件,其他浏览器都不支持ActiveX控件,这种方式对浏览器类型的依赖性较强。另一种方案是通过Java或者C语言编写的客户端来实现断点续传,需要重新开发编译一些专门能够实现断点续传的客户端。现有技术中存在以下不足:只能通过对浏览器安装Active控件或者重新开发客户端来支持文件上传的断点续传功能,现有的文件断点续传方式实现起来比较复杂。
技术实现思路
本专利技术提出了一种文件上传、保存方法及装置,不需要客户端安装ActiveX控件或者重新编译,简单方便的实现文件上传的断点续传。本专利技术提供了一种文件上传方法,包括以下步骤:确定需上传文件,并给予文件标识;将文件切割成文件块后,在上传请求中携带文件标识,并依次上传文件块;在文件传输中断时,请求返回上传进度,并在上传进度返回后根据上传进度上传需上传文件中的未上传文件部分。本专利技术还提供了一种文件保存方法,包括以下步骤:保存终端依次上传的需上传文件的文件块,并在每次保存成功后更新需上传文件的上传进度;在文件传输中断时,接收终端的上传进度请求,请求中包括需上传文件的文件标识;发送与文件标识对应的上传进度,并在上传进度发送后接收并保存终端上传的需上传文件的未上传文件部分。本专利技术还提供了一种文件上传装置,包括:确定单元,用于确定需上传文件,并给予文件标识;切割单元,用于将该文件切割成文件块;上传单元,用于在将文件切割成文件块后,在上传请求中携带文件标识,并依次上传文件块;在文件传输中断时,请求返回上传进度,并在上传进度返回后根据上传进度上传需上传文件中的未上传文件部分。本专利技术还提供了一种文件保存装置,包括:保存单元,用于保存终端依次上传的需上传文件的文件块,并在每次保存成功后更新需上传文件的上传进度;接收单元,用于在文件传输中断时,接收终端发送的上传进度请求,请求中包括需上传文件的文件标识;发送单元,用于发送与该文件标识对应的上传进度;接收单元进一步用于在上传进度发送后接收终端上传的需上传文件的未上传文件部分;保存单元进一步用于保存该未上传文件部分。本专利技术的有益效果如下:终端侧确定需要上传的文件并给予其文件标识,将该文件切割成文件块以后向网络侧发送上传请求,请求中携带该文件标识,依次上传文件块;网络侧维护与该文件标识对应的上传进度,每次保存成功后更新该上传进度。在发生文件传输中断时,终端可以根据该文件标识从网络侧获取与该文件标识对应的上传进度,从而确定需上传文件中的未上传文件部分,从上一次中断处对该文件进行续传,实现文件的断点上传。由于在本专利技术实施例提供的技术方案中,仅需要根据网络侧记录的与文件标识对应的上传进度,即可确定下一个需要上传的文件块,因此采用本专利技术实施例提供的技术方案,用户无需安装浏览器控件或重新开发客户端即可实现文件上传的断点续传,操作简便。附图说明下面将参照附图描述本专利技术的具体实施例,其中:图1为本专利技术实施例中文件上传方法的流程示意图;图2为本专利技术实施例中文件保存方法的流程示意图;图3为本专利技术实施例中文件上传装置的结构示意图;图4为本专利技术实施例中文件保存装置的结构示意图。具体实施方式为了使本专利技术的技术方案及优点更加清楚明白,以下结合附图对本专利技术的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本专利技术的一部分实施例,而不是所有实施例的穷举。本专利技术实施例中提供了一种终端侧的文件上传方法,以及一种网络侧的文件保存方法,下面进行说明。在终端侧、网络侧分别可以按如下方式实施。在说明过程中,将分别从终端与网络侧的实施进行说明,但这并不意味着二者必须配合实施,实际上,当终端与网络分开实施时,其也各自解决终端侧、网络侧的问题,只是二者结合使用时,会获得更好的技术效果。图1为终端侧的文件上传方法实施流程示意图,如图1所示,可以包括以下步骤:步骤101、确定需上传文件,并给予文件标识。浏览器客户端可以通过用户在浏览器网页上进行的操作来确定需上传文件,例如,用户将待上传的文件拖拽到浏览器网页,也可以是通过表单提交待上传文件,还可以在摄像头拍摄照片以后浏览器通过调用系统底层程序来指示将所拍摄的照片上传。很显然,确定需上传文件的方式还可以有多种方式,本专利技术对此不作限制。实施中,文件标识可以为对该文件进行全文哈希操作后得到的哈希值。其中,哈希一般也称hash,就是把任意长度的输入通过散列算法变换成固定长度的输出,输出值为hash值。本专利技术实施例hash是将文件的全文内容作为一个字符串或二进制字符串来计算hash值,计算hash值所采用的hash算法可以是现有的MD5(信息摘要算法5,Message-DigestAlgorithm5)、N-HASH等主流算法。在实施中采用MD5、N-HASH等算法是由于这些算法比较主流、常用,易于本领域技术人员使用,所以这里以MD5、N-HASH为例;但是,从理论上来说,用其他的hash算法也是可以的,只要能够实现计算文件全文的唯一ID值的目的即可,MD5、N-HASH仅用于教导本领域技术人员具体如何实施...
一种文件上传、保存方法及装置

【技术保护点】
一种文件上传方法,其特征在于,包括以下步骤:确定需上传文件,并给予文件标识;将所述文件切割成文件块后,在上传请求中携带文件标识,并依次上传文件块;在文件传输中断时,请求返回上传进度,并在所述上传进度返回后根据所述上传进度上传所述需上传文件中的未上传文件部分。

【技术特征摘要】
1.一种文件上传方法,其特征在于,包括以下步骤:
确定需上传文件,并给予文件标识;
将所述文件切割成文件块后,在上传请求中携带文件标识,并依次上传文
件块;
在文件传输中断时,请求返回上传进度,并在所述上传进度返回后根据所
述上传进度上传所述需上传文件中的未上传文件部分。
2.如权利要求1所述的方法,其特征在于,所述文件标识为对所述文件进
行全文哈希操作后得到的哈希值。
3.如权利要求1或2所述的方法,其特征在于,所述根据所述上传进度上
传所述需上传文件中的未上传文件部分包括:
根据所述上传进度,确定所述未上传文件部分的起始位置;
根据所述未上传文件部分的起始位置,在上传请求中携带所述文件标识和
所述起始位置,并依次上传所述未上传文件部分的文件块。
4.如权利要求3所述的方法,其特征在于,所述未上传文件部分的文件块
为文件传输中断前已经切割好的文件块或者为所述上传进度返回后重新对所
述未上传文件部分切割成的文件块。
5.如权利要求3所述的方法,其特征在于,所述起始位置由HTTP超文本
传输协议的range字段携带。
6.一种文件保存方法,其特征在于,包括以下步骤:
保存终端依次上传的需上传文件的文件块,并在每次保存成功后更新所述
需上传文件的上传进度;
在文件传输中断时,接收终端的上传进度请求,请求中包括所述需上传文
件的文件标识;
发送与文件标识对应的上传进度,并在所述上传进度发送后接收并保存所
述终端上传的所述需上传文件的未上传文件部分。
7.如权利要求6所述的方法,其特征在于,所述上传进度由HTTP协议的
content-range字段携带。
8.如权利要求6所述的方法,其特征在于,所述接收并保存所述终端上传
的所述需上传文件的未上传文件部分包括:
接收所述终端的上传请求,所述上传请求中包括所述需上传文件的未上传文
件部分的文件块、所述需上传文件的文件标识和所述文件块的起始位置;
根据所述起始位置和文件标识,保存所述未上传文件部分的文件块并更新所
述需上传文件的上传进度。
9.一种文件上传装置,其特征在于,包括:
确定单元,用于确定需上传文件,并给予文件标识;
切割单元...

【专利技术属性】
技术研发人员:万振张凯达
申请(专利权)人:北京金山安全软件有限公司
类型:发明
国别省市:北京;11

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

1