用于支持HTML5浏览器的多文件异步上传方法及系统技术方案

技术编号:15219204 阅读:45 留言:0更新日期:2017-04-26 15:15
本发明专利技术涉及一种用于支持HTML5浏览器的多文件异步上传方法,包括:选择需要上传的多个文件;浏览器利用MD5算法对上述多个文件进行序列化,以为每个文件分配第一唯一识别码;浏览器将每个文件的第一唯一识别码上传至服务器;服务器查询每个文件的第一唯一识别码是否存在于文件唯一识别码表中,以判断该文件是否已经保存在该服务器中;若不存在,服务器允许浏览器上传该第一唯一识别码所对应的文件;服务器存储该文件,并将该文件的第一唯一识别码记录到文件唯一识别码表中。本发明专利技术可以在不影响用户使用浏览器的情况下,高效的完成多文件上传操作。

Method and system for supporting multi file asynchronous uploading of HTML5 browser

The invention relates to a method for asynchronous multi file upload method, support HTML5 browser includes: selecting multiple files need to upload the browser; using the MD5 algorithm to serialize the plurality of files, each file that assigns a first unique identifier; the browser will first uniquely identify each file code uploaded to the server; the server for each query file the first unique identification code exists in the file only identification code table, to determine whether the file is stored in the server; if not, the server allows the browser to upload the article only a corresponding identification code file; the file storage server, and only the first identification code in the file record to file only identification code table. The invention can effectively complete the multi file upload operation without affecting the user to use the browser.

【技术实现步骤摘要】

本专利技术涉及数据传输
,尤其涉及一种用于支持HTML5浏览器的多文件异步上传方法及系统。
技术介绍
随着Web2.0应用技术的不断发展,JavaScript正在扮演越来越重要的角色。JavaScript作为一种安全性语言,不被允许访问本地的硬盘,且不能将数据存入服务器,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互,从而有效地防止数据的丢失或对系统的非法访问。因此,为达到用户可以通过浏览器访问本地文件的目的,现有技术中提供了能够在浏览器中能够实现诸如拖拽并上传本地文件功能的部分技术。例如:通过ActiveX控件可以实现IE浏览器或者Firefox浏览器等浏览器来获取对本地文件。实际应用中,实现不同浏览器的技术不尽相同,导致所开发的程序往往不能支持多浏览器,并且维护这类程序的工作也十分复杂。目前,使用浏览器上传文件主要包括基于Form表单与Flash两种方法。其中,基于Form表单的上传文件:在Form表单中添加一个file控件,选好文件并提交表单给浏览器;然后由浏览器读取和传输文件。但是无法用JavaScript控制传输过程以及传输结果,并且只适用于简单的上传应用场景。基于Flash的上传文件:文件操作全部交于Flash,并且可以在开发Flash时为JavaScript调用相关程度预留接口,从而可以控制传输过程以及传输结果。利用Flash还可以实现文件的同步上传与异步上传。同步上传时,在浏览器锁定网页,只有文件上传完成后才允许用户继续使用浏览器。异步上传时,上传文件由其他线程执行,此时用户可以继续使用浏览器。综上所述,现有技术中浏览器上传文件方法需要相关的控件配合实现,适用于硬件资源比较丰富的计算机,而对于硬件资源有限的移动终端来说,则具有一定的局限性。
技术实现思路
本专利技术的其中一个目的在于提供一种用于支持HTML5浏览器的多文件异步上传方法及系统,以解决现有技术中同步上传文件时需要锁定浏览器以及异步传输文件需要由其他线程执行的技术问题。第一方面,本专利技术实施例提供了一种用于支持HTML5浏览器的多文件异步上传方法,包括:选择需要上传的多个文件;浏览器利用MD5算法对上述多个文件进行序列化,以为每个文件分配第一唯一识别码;所述浏览器将每个文件的第一唯一识别码上传至服务器;所述服务器查询每个文件的第一唯一识别码是否存在于文件唯一识别码表中,以判断该文件是否已经保存在该服务器中;若不存在,所述服务器允许所述浏览器上传该第一唯一识别码所对应的文件;所述服务器存储该文件,并将该文件的第一唯一识别码记录到所述文件唯一识别码表中。可选地,当文件的大小超过预设值时,所述利用MD5算法对上述多个文件进行序列化,以为每个文件分配第一唯一识别码的步骤之后还包括:分割该文件,以形成多个文件分片;利用MD5算法对所述多个文件分片进行序列化,以为每个文件分片分配第二唯一识别码。可选地,所述服务器接收到同一个文件的不同文件分片时,所述服务器存储该文件的步骤包括:分析每个文件分片边界字符特征,根据所述边界字符特征获取该文件分片中数据实体的起始位置;根据边界字符特征映射关系获取数据实体所在文件,并根据数据实体的头信息获取数据在完整文件中的位置;所述边界字符特征映射关系是指,数据实体的起始位置与数据实体所在文件的对应关系;根据数据的位置将该文件分片中的数据写入到相对应的文件中。可选地,所述根据数据的位置将该文件分片中的数据写入到相对应的文件中的步骤之后还包括:判断同一个文件的多个文件分片的第二唯一识别码是否全部存在于服务器中的文件唯一识别码表中;若是,则对该文件进行MD5算法序列化以获取该文件的第一唯一识别码。可选地,还包括:监听多个文件已经上传至所述服务器的数据的大小,以获取上传过程中每个文件的上传进度。可选地,所述浏览器所在计算机通过交互式网页应用技术AJAX与所述服务器进行信息交互。第二方面,本专利技术实施例还提供了一种用于支持HTML5浏览器的多文件异步上传系统,包括:设有浏览器的计算机和服务器,所述计算机与所述服务器通过交互式网页应用技术AJAX进行信息交互,其中:所述浏览器,用于选择多个文件、利用MD5算法对多个文件进行序列化获取第一唯一识别码以及上传所选择的多个;所述服务器,用于判断每个文件的第一唯一识别码是否存在于文件唯一识别码表中以及存储文件与记录第一唯一识别码至文件唯一识别码表。可选地,所述计算机包括序列化模块,所述序列化模块用于在文件的大小超过预设值时,执行以下步骤:分割该文件,以形成多个文件分片;利用MD5算法对所述多个文件分片进行序列化,以为每个文件分片分配第二唯一识别码。可选地,所述服务器包括:缓冲模块、位置获取模块、分析模块和文件模块;所述缓冲模块,用于接收来自所述浏览器所发送的携带有第一唯一标识码的多个文件或者携带有第二唯一标识码的多个文件分片;所述位置获取模块,用于分析多个文件或者多个文件分片中的数据实体的起始位置;所述分析模块,用于根据边界字符特征映射关系获取数据实体所在文件,并根据数据实体的头信息获取数据在完整文件中的位置;所述边界字符特征映射关系是指,数据实体的起始位置与数据实体所在文件的对应关系;所述文件模块,用于根据数据在该文件中的位置将该数据写入该文件中。本专利技术公开了一种用于支持HTML5浏览器的多文件异步上传方法,在支持HTML5的浏览器上首先根据MD5算法对需要上传的多个文件进行序列化,获取每个文件的第一唯一识别码;服务器只有校验唯一识别码表中不存在该第一唯一识别码时,才允许浏览器上传操作;此时服务器端将所接收的文件放置在缓冲器中,获取数据实体的起始位置,并分析数据的位置,然后写入到相应的文件中。本专利技术可以在不影响用户使用浏览器的情况下,高效完成多文件上传操作。附图说明通过参考附图会更加清楚的理解本专利技术的特征和优点,附图是示意性的而不应理解为对本专利技术进行任何限制,在附图中:图1是本专利技术实施例提供的一种用于支持HTML5浏览器的多文件异步上传方法流程示意图;图2是本专利技术实施例提供的存储文件分片的流程示意图;图3是本专利技术实施例提供的大文件分片上传过程示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。本专利技术实施例提供了一种用于支持HTML5浏览器的多文件异步上传方法,如图1所示,包括:S100.选择需要上传的多个文件;浏览器利用MD5算法对上述多个文件进行序列化,以为每个文件分配第一唯一识别码;S200.浏览器将每个文件的第一唯一识别码上传至服务器;S300.服务器查询每个文件的第一唯一识别码是否存在于文件唯一识别码表中,以判断该文件是否已经保存在该服务器中;S400.若不存在,服务器允许浏览器上传该第一唯一识别码所对应的文件;服务器存储该文件,并将该文件的第一唯一识别码记录到文件唯一识别码表中。可理解的是,上文中浏览器需要支持超文本标记语言HTML5。例如火狐浏览器、谷歌浏览器、OPERA浏览器、苹果浏览器等。本领域技术人员可以根据需要进行选择。可理解的是,本专利技术实施例中MD5算法是指信息-摘要算法(Message-Diges本文档来自技高网
...

【技术保护点】
一种用于支持HTML5浏览器的多文件异步上传方法,其特征在于,包括:选择需要上传的多个文件;浏览器利用MD5算法对上述多个文件进行序列化,以为每个文件分配第一唯一识别码;所述浏览器将每个文件的第一唯一识别码上传至服务器;所述服务器查询每个文件的第一唯一识别码是否存在于文件唯一识别码表中,以判断该文件是否已经保存在该服务器中;若不存在,所述服务器允许所述浏览器上传该第一唯一识别码所对应的文件;所述服务器存储该文件,并将该文件的第一唯一识别码记录到所述文件唯一识别码表中。

【技术特征摘要】
1.一种用于支持HTML5浏览器的多文件异步上传方法,其特征在于,包括:选择需要上传的多个文件;浏览器利用MD5算法对上述多个文件进行序列化,以为每个文件分配第一唯一识别码;所述浏览器将每个文件的第一唯一识别码上传至服务器;所述服务器查询每个文件的第一唯一识别码是否存在于文件唯一识别码表中,以判断该文件是否已经保存在该服务器中;若不存在,所述服务器允许所述浏览器上传该第一唯一识别码所对应的文件;所述服务器存储该文件,并将该文件的第一唯一识别码记录到所述文件唯一识别码表中。2.根据权利要求1所述的多文件异步上传方法,其特征在于,当文件的大小超过预设值时,所述利用MD5算法对上述多个文件进行序列化,以为每个文件分配第一唯一识别码的步骤之后还包括:分割该文件,以形成多个文件分片;利用MD5算法对所述多个文件分片进行序列化,以为每个文件分片分配第二唯一识别码。3.根据权利要求2所述的多文件异步上传方法,其特征在于,所述服务器接收到同一个文件的不同文件分片时,所述服务器存储该文件的步骤包括:分析每个文件分片边界字符特征,根据所述边界字符特征获取该文件分片中数据实体的起始位置;根据边界字符特征映射关系获取数据实体所在文件,并根据数据实体的头信息获取数据在完整文件中的位置;所述边界字符特征映射关系是指,数据实体的起始位置与数据实体所在文件的对应关系;根据数据的位置将该文件分片中的数据写入到相对应的文件中。4.根据权利要求3所述的多文件异步上传方法,其特征在于,所
\t述根据数据的位置将该文件分片中的数据写入到相对应的文件中的步骤之后还包括:判断同一个文件的多个文件分片的第二唯一识别码是否全部存在于服务器中的文件唯一识别码表中;若是,则对该文件进行MD5算法序列化以获取该文件的第一唯...

【专利技术属性】
技术研发人员:葛俸铭
申请(专利权)人:北大方正集团有限公司北京北大方正电子有限公司
类型:发明
国别省市:北京;11

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

1