[发明专利]用于支持HTML5浏览器的多文件异步上传方法及系统在审
申请号: | 201510673398.X | 申请日: | 2015-10-16 |
公开(公告)号: | CN106603603A | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 葛俸铭 | 申请(专利权)人: | 北大方正集团有限公司;北京北大方正电子有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 李相雨 |
地址: | 100871 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 支持 html5 浏览器 文件 异步 上传 方法 系统 | ||
技术领域
本发明涉及数据传输技术领域,尤其涉及一种用于支持HTML5浏览器的多文件异步上传方法及系统。
背景技术
随着Web 2.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进行信息交互,其中:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北大方正集团有限公司;北京北大方正电子有限公司,未经北大方正集团有限公司;北京北大方正电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510673398.X/2.html,转载请声明来源钻瓜专利网。