发明内容
本发明提供一种文件上传处理方法及装置,以提供一种可以兼容各浏览器版本的多功能文件上传处理方法。
本发明提供一种文件上传处理方法,包括:
获取浏览器信息,其中,所述浏览器信息包括浏览器名称以及浏览器版本;
根据所述浏览器信息判断所述浏览器支持动画flash文件上传插件或支持基于超文本标记语言HTML5标准的文件上传插件,得到判断结果;
根据所述判断结果,调用相应的文件上传插件上传待上传文件。
如上所述的文件上传处理方法,其中,所述根据所述判断结果,调用相应的文件上传插件上传待上传文件,具体包括:
若所述浏览器支持所述flash文件上传插件,则调用所述flash文件上传插件上传所述待上传文件;或者,
若所述浏览器支持基于所述HTML5标准的文件上传插件,则调用所述基于HTML5标准的文件上传插件上传所述待上传文件。
如上所述的文件上传处理方法,其中,所述根据对所述判断结果,调用相应的文件上传插件上传待上传文件之前,还包括:
根据用户配置信息,初始化所调用的所述文件上传插件;其中,所述用户配置信息包括以下信息中的至少一个:支持多文件上传,显示进度条,显示文件名称,显示已上传文件的大小,显示删除文件,自定义界面样式。
如上所述的文件上传处理方法,其中,所述根据对所述判断结果,调用相应的文件上传插件上传待上传文件之前,还包括:
对所述待上传文件的大小和或类型进行验证。
本发明提供一种文件上传处理装置,包括:
获取模块,用于获取浏览器信息,其中,所述浏览器信息包括浏览器名称以及浏览器版本;
判断模块,用于根据所述浏览器信息判断所述浏览器支持动画flash文件上传插件或支持基于超文本标记语言HTML5标准的文件上传插件,得到判断结果;
处理模块,用于根据所述判断结果,调用相应的文件上传插件上传待上传文件。
如上所述的文件上传处理装置,其中,所述处理模块具体用于:
若所述浏览器支持所述flash文件上传插件,则调用所述flash的文件上传插件上传所述待上传文件;或者,
若所述浏览器支持基于所述HTML5标准的文件上传插件,则调用所述基于HTML5标准的文件上传插件上传所述待上传文件。
如上所述的文件上传处理装置,其中,所述处理模块还用于根据用户配置信息,初始化所调用的所述文件上传插件;其中,所述用户配置信息包括以下信息中的至少一个:支持多文件上传,显示进度条,显示文件名称,显示已上传文件的大小,显示删除文件,自定义界面样式。
如上所述的文件上传处理装置,其中,所述装置还包括:
验证模块,用于对所述待上传文件的大小和或类型进行验证。
本发明提供的文件上传处理方法及装置,通过获取浏览器信息,其中,所述浏览器信息包括浏览器名称以及浏览器版本;根据所述浏览器信息判断所述浏览器支持flash文件上传插件或支持基于HTML5标准的文件上传插件,得到判断结果;根据所述判断结果,调用相应的文件上传插件上传待上传文件。从而提供一种可以兼容各浏览器版本的多功能文件上传处理方法。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明文件上传处理方法实施例一的流程图。如图1所示,本发明提供的文件上传处理方法可以包括:
步骤101、获取浏览器信息,其中,所述浏览器信息包括浏览器名称以及浏览器版本。
步骤102、根据所述浏览器信息判断所述浏览器支持flash文件上传插件或支持基于HTML5标准的文件上传插件,得到判断结果。.
步骤103、根据所述判断结果,调用相应的文件上传插件上传待上传文件。
需要说明的是,在本步骤中,若根据所述浏览器名称以及所述浏览器版本判断得知,所述浏览器支持所述flash文件上传插件,则调用所述flash文件上传插件上传所述待上传文件;或者,若根据所述浏览器名称以及所述浏览器版本判断得知,所述浏览器支持基于所述HTML5标准的文件上传插件,则调用所述基于HTML5标准的文件上传插件上传所述待上传文件。
可以理解的是,本步骤中,若所述浏览器同时支持所述flash文件上传插件和所述基于HTML5标准的文件上传插件,则可以随机调用所述flash文件上传插件或所述基于HTML5标准的文件上传插件,本实施例不对此进行限制。
本实施例的技术方案,通过获取浏览器信息,其中,所述浏览器信息包括浏览器名称以及浏览器版本;根据所述浏览器信息判断所述浏览器支持flash文件上传插件或支持基于HTML5标准的文件上传插件,得到判断结果;根据所述判断结果,调用相应的文件上传插件上传待上传文件。从而提供一种可以兼容各浏览器版本的多功能文件上传处理方法。
图2为本发明文件上传处理方法实施例二的流程图。如图2所示,在上述实施例的基础上,在步骤103之前,本实施例提供的文件上传处理方法进一步还可以包括:
步骤201、根据用户配置信息,初始化所调用的所述文件上传插件;其中,所述用户配置信息包括以下信息中的至少一个:支持多文件上传,显示进度条,显示文件名称,显示已上传文件的大小,显示删除文件,自定义界面样式。
需要说明的是,所述用户为软件开发人员,所述用户配置信息即为软件开发人员在开发软件时的配置信息,最终使用该软件的用户并不需要进行任何的配置操作。
步骤202、对所述待上传文件的大小和或类型进行验证。
需要说明的是,上述步骤201和步骤202之间没有严格的时序关系。
本实施例提供的文件上传处理方法,获取浏览器信息,并根据所述浏览器信息判断所述浏览器支持flash文件上传插件或支持基于HTML5标准的文件上传插件,得到判断结果;根据判断结果调用相应的文件上传插件,即,若所述浏览器支持所述flash文件上传插件,则调用所述flash文件上传插件上传所述待上传文件,或者,若所述浏览器支持所述基于HTML5标准的文件上传插件,则调用所述基于HTML5标准的文件上传插件上传所述待上传文件。
进一步的,还可以对所述待上传文件进行大小和类型的验证,可以理解的是,若所述待上传文件过大或是类型不被支持,则可以提示用户无法上传所述待上传文件,本实施例不对此进行限制。
具体的,若需要上传文件,则浏览器中会自动加载一个适配器插件,所示适配器插件具体可用于获取所示浏览器信息并调用相应的所述文件上传插件,若获取的浏览器信息为:所述浏览器为微软(IE8)浏览器,并判断得知所述浏览器支持flash文件上传插件,则调用所述flash文件上传插件,同时,用户配置信息选择为:支持多文件上传,显示进度条,显示文件名称,显示删除文件,则在所述待上传文件的上传过程中,最终使用的用户可以看到的显示界面如图3a所示,包括同时上传了两个文件,即,图3a中显示的两个“上传”按钮,显示进度条,显示文件名在图3a中分别为“中文.jpg”和“6713.jpg”,显示有“删除”按钮;若获取的浏览器信息为:所述浏览器为谷歌(chorme)浏览器或火狐(fierfox)浏览器,并判断得知所述浏览器支持基于HTML5标准的文件上传插件,则调用所述基于HTML5标准的文件上传插件,同时,用户配置信息选择为:支持多文件上传,显示进度条,显示文件名称,显示已上传文件的大小,显示删除文件,则在所述待上传文件的上传过程中,最终使用的用户可以看到的显示界面如图3b所示,包括同时上传了三个文件,即,图3b中显示的三个“上传”按钮,显示进度条,显示的文件名称在图3b中分别为“6713.jpg”、“331411.jpg”以及“未命名.jpg”,显示已上传文件的大小,即图3b中的“378.67kb/378.67kb”、“86.98kb/86.98kb”以及“20.16kb/20.16kb”,显示有“删除”按钮。
本实施例的技术方案,通过获取浏览器信息,其中,所述浏览器信息包括浏览器名称以及浏览器版本;根据所述浏览器信息判断所述浏览器支持flash文件上传插件或支持基于HTML5标准的文件上传插件,得到判断结果;根据用户配置信息,初始化所调用的所述文件上传插件;对待上传文件的大小和或类型进行验证;根据所述判断结果,调用相应的文件上传插件上传待上传文件。从而提供一种可以兼容各浏览器版本的多功能文件上传处理方法。
图4为本发明文件上传处理装置实施例的结构示意图。如图4所示,本实施例提供的文件上传处理装置10可以包括:获取模块11,判断模块12和处理模块13。
其中,所述获取模块11可以用于获取浏览器信息,其中,所述浏览器信息包括浏览器名称以及浏览器版本。
所述判断模块12可以用于根据所述浏览器信息判断所述浏览器支持flash文件上传插件或支持基于HTML5标准的文件上传插件,得到判断结果;
所述处理模块13可以用于根据所述判断结果,调用相应的文件上传插件上传待上传文件。
具体的,所述处理模块13可以用于若所述浏览器支持所述flash文件上传插件,则调用所述flash文件上传插件上传所述待上传文件;或者,若所述浏览器支持所述基于HTML5标准的文件上传插件,则调用所述基于HTML5标准的文件上传插件上传所述待上传文件。
进一步,所述处理模块13还可以用于根据用户配置信息,初始化所调用的所述文件上传插件;其中,所述用户配置信息包括以下信息中的至少一个:支持多文件上传,显示进度条,显示文件名称,显示已上传文件的大小,显示删除文件,自定义界面样式。
进一步,所述文件上传处理装置10还可以包括验证模块,所述验证模块可以用于对所述待上传文件的大小和或类型进行验证。
本实施例提供的文件上传处理装置,可用于执行上述方法实施例的技术方案,其实现原理及技术效果类似,此处不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。