文件上传校验方法及装置.pdf

上传人:n****g 文档编号:1686914 上传时间:2018-07-04 格式:PDF 页数:10 大小:575.83KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310495953.5

申请日:

2013.10.21

公开号:

CN104580307A

公开日:

2015.04.29

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 29/08申请日:20131021|||公开

IPC分类号:

H04L29/08

主分类号:

H04L29/08

申请人:

南京中兴新软件有限责任公司

发明人:

缪贵海

地址:

210012江苏省南京市雨花台区紫荆花路68号

优先权:

专利代理机构:

北京康信知识产权代理有限责任公司11240

代理人:

梁丽超; 韩建伟

PDF下载: PDF下载
内容摘要

本发明公开了文件上传校验方法及装置,其中,该方法包括:接收客户端上传文件;在文件上传的过程中获取校验已经上传的文件的大小是否超过阈值的结果;将结果反馈给客户端。通过本发明解决了相关技术中文件上传完毕之后才通知用户文件大小超过阈值导致增加用户等待时间的问题,提高了用户体验。

权利要求书

权利要求书1.  一种文件上传校验方法,其特征在于,包括:接收客户端上传文件;在所述文件上传的过程中对已经上传的文件的大小是否超过阈值进行校验,并获取校验的结果;将所述结果反馈给所述客户端。2.  根据权利要求1所述的方法,其特征在于,在所述文件上传的过程中对已经上传的文件的大小是否超过阈值进行校验,并获取所述结果包括:在所述文件上传的过程中校验已经上传的文件的大小是否超过阈值,以得到所述结果;将所述结果存储在数据库中;从所述数据库中获取所述结果。3.  根据权利要求2所述的方法,其特征在于,在从所述数据库中获取所述结果之后,所述方法还包括:从所述数据库中删除所述结果。4.  根据权利要求1所述的方法,其特征在于,所述方法还包括:在确定已经上传的文件的大小超过所述阈值的情况下,终止所述文件的上传。5.  根据权利要求1至4中任一项所述的方法,其特征在于,通过Struts框架的控制器组件在所述文件上传的过程中获取校验已经上传的文件的大小是否超过阈值的结果;通过Ajax将所述结果反馈给所述客户端,所述客户端为网页浏览器。6.  一种文件上传校验装置,其特征在于,包括:接收模块,用于接收客户端上传文件;获取模块,用于在所述文件上传的过程中对已经上传的文件的大小是否超过阈值进行校验,并获取校验的结果;反馈模块,用于将所述结果反馈给所述客户端。7.  根据权利要求6所述的装置,其特征在于,所述获取模块包括:校验单元,用于在所述文件上传的过程中校验已经上传的文件的大小是否超过阈值,以得到所述结果;存储单元,用于将所述结果存储在数据库中;获取单元,用于从所述数据库中获取所述结果。8.  根据权利要求7所述的装置,其特征在于,所述装置还包括:删除模块,用于从所述数据库中删除所述结果。9.  根据权利要求6所述的装置,其特征在于,所述装置还包括:终止模块,用于在确定已经上传的文件的大小超过所述阈值的情况下,终止所述文件的上传。10.  根据权利要求6至9中任一项所述的装置,其特征在于,所述获取模块通过Struts框架的控制器组件实现,所述反馈模块,用于通过Ajax将所述结果反馈给所述客户端,所述客户端为网页浏览器。

说明书

说明书文件上传校验方法及装置
技术领域
本发明涉及网络领域,具体而言,涉及文件上传校验方法及装置。
背景技术
文件上传是互联网应用中非常常见。而上传文件大小超出配置大小问题是其中最常见的问题。
对于上述问题的解决,在相关技术中有一种方法是在客户端进行验证的,在客户端进行验证需要得到客户端进行支持,需要考虑客户端的兼容性问题,例如,对于IE(浏览器)兼容可能存在问题,此时需要用户手动添加插件。对于某些客户端添加插件也是无法解决这个问题的,例如,在IE8中即使用户手动添加插件也是无效的。
考虑到客户端进行验证所存在的问题,一般情况下不会采用客户端进行验证而是在服务器端进行验证。在相关技术中,采用如下两种方法在服务器端进行验证:方法一:修改配置文件为最大如:9999999…,然后在后台判断文件大小。这种处理方式的缺点:不管后台的判断是否成功,文件都会上传到服务器,当上传资源够大时会浪费服务器资源,而且等待时间过长,影响用户体验。方法二:如果服务器使用了JAVA,那么可以重写文件上传服务ServletFileUpload的parseRequest,把异常不抛,返回自定义错误信息。这种处理方式的缺点:如果异常不抛出,那么上传文件流就不会停止,就算返回了错误信息,但是文件还是上传到服务器了。
无论上述两种方法中的哪一种,超过预定大小的文件都会被上传到服务器上,该文件其实是不希望被上传到服务器上的。对于用户而言其只有在文件完全被上传到服务器上之后才知道该文件超过了预定的大小,这延长了用户的等待时间,降低了用户的体验。
发明内容
本发明提供了文件上传校验方法及装置,以至少解决相关技术中文件上传完毕之后才通知用户文件大小超过阈值导致增加用户等待时间的问题。
根据本发明的一个方面,提供一种文件上传校验方法,包括:接收客户端上传文件;在所述文件上传的过程中对已经上传的文件的大小是否超过阈值进行校验,并获取校验的结果;将所述结果反馈给所述客户端。
优选地,在所述文件上传的过程中对已经上传的文件的大小是否超过阈值进行校验,并获取所述结果包括:在所述文件上传的过程中校验已经上传的文件的大小是否超过阈值,以得到所述结果;将所述结果存储在数据库中;从所述数据库中获取所述结果。
优选地,在从所述数据库中获取所述结果之后,所述方法还包括:从所述数据库中删除所述结果。
优选地,所述方法还包括:在确定已经上传的文件的大小超过所述阈值的情况下,终止所述文件的上传。
优选地,通过Struts框架的控制器组件在所述文件上传的过程中获取校验已经上传的文件的大小是否超过阈值的结果;通过Ajax将所述结果反馈给所述客户端,所述客户端为网页浏览器。
根据本发明的另一个方面,还提供了一种文件上传校验装置,包括:接收模块,用于接收客户端上传文件;获取模块,用于在所述文件上传的过程中对已经上传的文件的大小是否超过阈值进行校验,并获取校验的结果;反馈模块,用于将所述结果反馈给所述客户端。
优选地,所述获取模块还包括:校验单元,用于在所述文件上传的过程中校验已经上传的文件的大小是否超过阈值,以得到所述结果;存储单元,用于将所述结果存储在数据库中;获取单元,用于从所述数据库中获取所述结果。
优选地,所述装置还包括:删除模块,用于从所述数据库中删除所述结果。
优选地,所述装置还包括:终止模块,用于在确定已经上传的文件的大小超过所述阈值的情况下,终止所述文件的上传。
优选地,所述获取模块通过Struts框架的控制器组件实现,所述反馈模块,用于通过Ajax将所述结果反馈给所述客户端,所述客户端为网页浏览器。
通过本发明,采用了接收客户端上传文件;在所述文件上传的过程中获取校验已经上传的文件的大小是否超过阈值的结果;将所述结果反馈给所述客户端,解决了相关技术中文件上传完毕之后才通知用户文件大小超过阈值导致增加用户等待时间的问题,提高了用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的文件上传校验方法的流程图;
图2是根据本发明实施例的文件上传校验装置的结构图;
图3是根据本发明实施例的文件上传校验装置接收模块的结构框图;
图4是根据本发明实施例的文件上传校验装置的优选结构框图;
图5是根据本发明优选实施例的上传文件及判断文件大小的流程示意图;
图6是根据本发明优选实施例的一种服务端快速校验客户端上传文件大小的处理方法流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
在本实施例中,提供了一种文件上传校验方法,图1是根据本发明实施例的文件上传校验方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,接收客户端上传文件;
步骤S104,在该文件上传的过程中对已经上传的文件的大小是否超过阈值进行校验,并获取校验的结果;
步骤S106,将该结果反馈给该客户端。
通过上述步骤,在文件上传的过程中就对已经上传的文件的大小进行了实时的验证,当已经上传的部分已经超过阈值是可以及时通知客户端,不再需要等到文件全部上传完毕才通知客户端,提高了实时性,从而解决了相关技术中文件上传完毕之后才通知用户文件大小超过阈值导致增加用户等待时间的问题,提高了用户体验。
对文件上传过程中已经上传的文件进行检测可以是周期性的,例如,每隔预定时长就可以进行一次检测。作为一种优选的实施方式,可以将检测结果保存在数据库中,然后从该数据库中获取该结果。即在步骤S102中,在该文件上传的过程中校验已经上传的文件的大小是否超过阈值,以得到该结果;将该结果存储在数据库中;从该数据库中获取该结果。通过数据库存储的方式可以方便的读取结果,任何需要改结果的服务、进程或者线程均可以去数据库中读取该结果。
如果将结果均存储在数据库中,可能会导致数据库中的数据存储量不断的增大。可以每隔一段时间就对不需要的检测结果进行清除。在本实施例中,提供了另一种优选的处理方式,在该处理方式中,在从该数据库中获取结果之后,就从该数据库中删除该结果。这种实时删除的方式有利于及时删除今后可能不再需要的数据。
通过上述步骤,服务器已经能够及时通知客户端其上传的文件的大小已经超过阈值了,客户端可以根据该通知自行停止上传,作为另外一种优选实施方式,服务器端也可以在确定已经上传的文件的大小超过该阈值的情况下,终止该文件的上传。这样的处理方式能够节约服务器资源。
优选地,上述步骤可以通过Struts框架的控制器组件在该文件上传的过程中获取校验已经上传的文件的大小是否超过阈值的结果;通过Ajax将该结果反馈给该客户端,该客户端为网页浏览器。下面对Stuts和Ajax进行说明。
Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller(MVC)设计模式的应用框架(Web Framework),是MVC经典设计模式中的一个经典产品。在Struts中,已经由一个名为ActionServlet的Servlet充当控制器(Controller)的角色,根据描述模型、视图、控制器对应关系的struts-config.xml的配置文件,转发视图(View)的请求,组装响应数据模型(Model)。在MVC的模型(Model)部分,经常划分为两个主要子系统(系统的内部数据状态与改变数据状态的逻辑动作),这两个概念子系统分别具体对应Struts里的ActionForm与Action两个需要继承实现超类。在这里,Struts可以与各种标准的数据访问技术结合在一起,包括Enterprise Java Beans(EJB),JDBC与JNDI。在Struts的视图(View)端,除了使用标准的JavaServer Pages(JSP)以外,还提供了大量的标签库使用,同时也可以与其他表现层组件技术(产品)进行整合,比如Velocity Templates,XSLT等。通过应用Struts的框架,最终用户可以把大部分的关注点放在自己的业务逻辑(Action)与映射关系的配置文件(struts-config.xml)中。
AJAX即“Asynchronous JavaScript and XML”(非同步的JavaScript與XML技術),指的是一套综合了多项技术的浏览器端网页开发技术。Ajax的概念由JesseJames Garrett所提出。传统的Web应用允许用户端填写表单(form),当送出表单时就向Web伺服器发送一个请求。伺服器接收并处理传来的表单,然后送回一个新的网页,但这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML码往往是相同的。由于每次应用的沟通都需要向伺服器发送请求,应用的回应时间依赖于伺服器的回应时间。这导致了用户界面的回应比本机应用慢得多。与此不同,AJAX应用可以仅向伺服器发送并取回必須的数据,它使用SOAP或其它一些基于XML的页面服务接口(介面),并在客户端采用JavaScript处理来自伺服器的回应。因为在伺服器和浏览器之间交换的数据大量减少(大约只有原来的5%)。结果,我们感觉伺服器回应更快了。同时,很多的处理工作可以在发出请求的客户端机器上完成,因此Web伺服器的负荷也减少了。
通过Stuts和Ajax来实现上述实施例及优选实施方式可以提高程序易用性。
在本实施例中,提供了一种文件上传校验装置,该装置是将上述实施例及优选实 施方式中的每个步骤使用模块来实现,在上文中已经进行过说明的,在此不再赘述,图2是根据本发明实施例的文件上传校验装置的结构框图,如图2所示,该装置包括:
接收模块20,用于接收客户端上传文件;获取模块30,用于在该文件上传的过程中获取校验已经上传的文件的大小是否超过阈值的结果;反馈模块40,用于将该结果反馈给该客户端。
通过上述装置,在文件上传的过程中就对已经上传的文件的大小进行了实时的验证,当已经上传的部分已经超过阈值是可以及时通知客户端,不再需要等到文件全部上传完毕才通知客户端,提高了实时性,从而解决了相关技术中文件上传完毕之后才通知用户文件大小超过阈值导致增加用户等待时间的问题,提高了用户体验。
优选地,图3是根据本发明实施例的文件上传校验装置接收模块的结构框图,如图3所示,该结构包括:
该获取模块30还包括:校验单元302,用于在该文件上传的过程中校验已经上传的文件的大小是否超过阈值,以得到该结果;存储单元304,用于将该结果存储在数据库中;获取单元306,用于从该数据库中获取该结果。
优选地,图4是根据本发明实施例的文件上传校验装置的优选结构框图,如图4所示,该装置还可以包括:删除模块40,用于从该数据库中删除该结果;终止模块50,用于在确定已经上传的文件的大小超过该阈值的情况下,终止该文件的上传。
下面结合优选实施例进行说明,在该优选实施例中以Java为例进行说明。其他服务器实现方式也可以使用以下优选实施例中所阐述的原理。
本优选实施例提供了一种服务端快速校验客户端上传文件大小的方案,在该方案中,首先,加载配置文件,其中,配置文件包括:SERVLET进程配置文件及数据库配置文件;然后,用户A通过AJAX文件上传到Struts的ACTION,ACTION进行文件校验在服务器端快速判断文件大小是否符合项目约束要求,并将每次的用户上传校验文件的大小的结果记录在数据库中,通过SERVLET技术实时监控获得用户上传文件大小的校验结果,并将文件上传校验文件大小的结果用AJAX技术及时反馈用户页面。
通过本优选实施例解决了相关技术中基本都是在文件流上传到服务器端的临时文件之后进行限制大小的判断,对大文件(1G以上)上传,服务器端无法及时反馈文件大小的难题。从而节约了服务器资源,及时反馈上传检测文件大小结果,减少用户等待校验文件大小的等待时间,改进了程序的易用性。
图5是根据本发明优选实施例的上传文件及判断文件大小的流程示意图,如图5所示,该示意图示出了:客户端选择上传文件,服务端判断文件大小,如果该文件大小大于4M,提示上传文件过大,否则执行上传文件操作,并将结果反馈给用户。
图6是根据本发明优选实施例的一种服务端快速校验客户端上传文件大小的处理方法流程示意图,下面首先对图6中涉及到的各模块的功能进行如下说明:
1.用户上传文件页面模块(app-pub.jsp):
(1)选择文件:用于上传文件;
(2)获取校验文件大小结果:用于等待服务器校验上传文件大小的结果。
2.struts框架的核心控制器组件(ActionServlet):
(1)增加拦截,判断文件大小,文件大小符合要求,才允许post数据;
(2)将校验用户A上传文件的大小的结果,进行入库操作。
3.监控校验文件大小进程组件(CheckFileServlet):
(1)实时获取用户A上传校验文件大小的结果;
(2)单位毫秒,配置为100,值可以根据服务器性能重新配置;
(3)获取结果后,将该结果进行删除操作。
4.数据库组件(AdminUserDAO):
(1)获取用户A上传校验文件大小的结果(Select操作);
(2)插入用户A上传校验文件大小的结果(Insert操作);
(3)删除用户A上传校验文件大小的结果(Delete操作)。
通过上述组件模块可以按照如下步骤实现:撰写配置及数据库文件(web.xml,init.sql);撰写数据库组件(AdminUserDAO);撰写用户上传文件页面模块(app-pub.jsp);撰写struts框架的核心控制器组件(ActionServlet)增加拦截,并将校验文件大小结果,进行入库操作;撰写监控校验文件大小进程组件(CheckFileServlet),实时监控文件大小校验结果,并将以完成的结果反馈给客户端页面(app-pub.jsp),最后将该结果从数据库中删除。
下面结合上述结构示意图对服务端快速校验客户端上传文件大小的处理进行说明,该处理可以包括以下步骤:
步骤S1,客户端用户A通过app-pub.jsp,进行文件上传;
步骤S2:服务端控制器ActionServlet,进行文件大小校验,将结果通过数据库组件AdminUserDAO,插入数据库中;
步骤S3,服务端监控器CheckFileServlet向数据库组件AdminUserDAO实时发出查询用户A上传文件校验大小的结果指令;
步骤S4,数据库组件AdminUserDAO将用户A上传文件校验大小的结果反馈给服务端监控器CheckFileServlet;
步骤S5,服务端监控器CheckFileServlet得到用户A上传文件大小的结果,将结果记录到数据流中,同时向数据库组件AdminUserDAO发出删除用户A上传文件大小的结果的指令;
步骤S6,服务端监控器CheckFileServlet将用户A文件上传大小的结果返回给客户端用户A的app-pub.jsp页面上。
在上述步骤中通过采用SERVLET技术实时监控从AJAX文件上传到Struts的ACTION的过程,并将每次的用户上传校验文件的大小的行为记录在数据库中。在服务器端快速判断文件大小是否符合项目约束要求,并将文件上传校验文件大小的结果利用AJAX技术及时反馈用户页面。节省了用户等待时间,节约服务器资源,提高程序易用性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上该仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

文件上传校验方法及装置.pdf_第1页
第1页 / 共10页
文件上传校验方法及装置.pdf_第2页
第2页 / 共10页
文件上传校验方法及装置.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《文件上传校验方法及装置.pdf》由会员分享,可在线阅读,更多相关《文件上传校验方法及装置.pdf(10页珍藏版)》请在专利查询网上搜索。

本发明公开了文件上传校验方法及装置,其中,该方法包括:接收客户端上传文件;在文件上传的过程中获取校验已经上传的文件的大小是否超过阈值的结果;将结果反馈给客户端。通过本发明解决了相关技术中文件上传完毕之后才通知用户文件大小超过阈值导致增加用户等待时间的问题,提高了用户体验。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1