CN103795809A - 文件上传方法及系统 - Google Patents
文件上传方法及系统 Download PDFInfo
- Publication number
- CN103795809A CN103795809A CN201410074187.XA CN201410074187A CN103795809A CN 103795809 A CN103795809 A CN 103795809A CN 201410074187 A CN201410074187 A CN 201410074187A CN 103795809 A CN103795809 A CN 103795809A
- Authority
- CN
- China
- Prior art keywords
- file
- upload
- uploading
- browser
- plug
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种文件上传方法,包括以下步骤:在客户端的浏览器上显示上传页面;判断客户端的浏览器上是否安装有上传插件;若客户端的浏览器上没有安装上传插件,则安装上传插件;若客户端的浏览器上已经安装了上传插件,在上传页面上选择需要上传的文件,并将选择的文件加入到上传队列中;从上传队列中获取一个文件;及上传获取的文件。在安装了上传插件以后,所述客户端的浏览器就可以通过所述上传插件来建立与所述服务器之间的连接,解决了客户端上的浏览器本身不支持上传超过2G的大文件的问题。另,本发明还是公开了一种文件上传系统。
Description
技术领域
本发明涉及一种文件上传技术,尤其涉及一种基于浏览器的文件上传方法及系统。
背景技术
随着互联网快速的发展随着互联网快速发展,互联网的应用越来越丰富,大部分的网站都提供了上传文件的服务,比如邮箱的附件上传,图片上传。现有的文件的上传方法,其通过浏览器直接上传,其上传步骤为:(1)用户选择需要上传的文件;(2)浏览器取得文件信息传给服务器;(3)服务器处理上传的文件。在这种处理方式下,浏览器只能上传小于2G的小文件,而无法上传超过2G的大文件。
发明内容
为了解决现在的浏览器不支持上传超过2G的大文件的问题,本发明提供一种新的方法,能够通过文件上传系统使用户通过浏览器直接上传超过2G的大文件,从而解决了浏览器不支持上传超过2G的大文件的问题。
一种文件上传方法,包括以下步骤:
在客户端的浏览器上显示上传页面;
判断所述客户端的浏览器上是否安装有上传插件;
若所述客户端的浏览器上没有安装所述上传插件,则安装所述上传插件;
若所述客户端的浏览器上已经安装了所述上传插件,在所述上传页面上选择需要上传的文件,并将选择的文件加入到上传队列中;
从上传队列中获取一个文件;及
上传获取的文件。
本发明实施例还提供一种文件上传系统,运行于客户端及服务器中,其包括:
显示模块,用于在客户端的浏览器上显示上传页面;
判断模块,用于判断所述客户端的浏览器上是否安装有上传插件,若所述客户端的浏览器上没有安装所述上传插件,则安装所述上传插件;
选择模块,若所述客户端的浏览器上已经安装了所述上传插件,在所述上传页面上选择需要上传的文件,并将选择的文件加入到上传队列中;
获取模块,用于从上传队列中获取一个文件;及
上传模块,用于上传获取的文件。
本发明的上述实施例中,由于具有判断步骤或判断模块,可以自动判断客户端的浏览器上是否安装了上传插件,如果没有安装上传插件,则立即安装,在安装了上传插件以后,所述客户端的浏览器就可以通过所述上传插件来建立与所述服务器之间的连接,解决了客户端上的浏览器本身不支持上传超过2G的大文件的问题。而且由于上传插件可以在后台运行,不会一直停留在当面的上传页面,因此,前台的浏览器还可以做其他操作,给用户的使用带来很大的便利。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明客户端与服务器的网络架构图。
图2是本发明实施例提供的文件上传系统的功能模块图。
图3是本发明实施例提供的文件上传方法的流程图。
具体实施例
下面结合附图和具体实施例对本发明的技术方案作进一步更详细的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
如图1所示,是本发明客户端与服务器的网络架构图。在本实施例中,所述客户端100通过网络200与所述服务器300连接。所述客户端100可以为笔记本电脑、计算机或便携式移动终端等。所述服务器300通过数据库连接与数据库400连接,所述数据库连接可以是JDBC(Java Database Connectivity,Java数据库连接)或ODBC(Open Database Connectivity,开放数据库连接)等。文件上传系统10安装于所述客户端100及所述服务器300中。
如图2所示,是本发明实施例提供的文件上传系统的功能模块图。该文件上传系统10包括显示模块11、判断模块12、选择模块13、获取模块14、输出模块15、检测模块16及上传模块17。其中所述显示模块11、所述判断模块12、所述选择模块13、所述获取模块14及所述上传模块17应用于所述客户端100中,所述检测模块16应用于所述服务器300中。
所述显示模块11用于在客户端100的浏览器上显示上传页面。具体地,所述显示模块11为一个网页,向用户显示上传文件的界面,用户在页面上进行上传文件的操作。
所述判断模块12用于判断所述客户端100的浏览器上是否安装有上传插件。若所述客户端100的浏览器上没有安装所述上传插件,则会出现页面提醒进行安装上传插件,其中,安装所述上传插件的过程与安装普通的软件相同,仅需点击下一步即可,安装所述上传插件后重启所述客户端100即可使用。若所述客户端100的浏览器上已经安装了所述上传插件,所述选择模块13用于在所述上传页面上选择需要上传的文件,并将选择的文件加入到上传队列中。其中,上传队列的大小并没有限制,理论上可以是无限多个,但是实际会受到所述客户端100的内存的限制。若想同时存在很多个上传队列,只需要保证所述客户端100有足够的内存空间即可。
所述获取模块14用于从上传队列中获取一个文件。
所述输出模块15用于提取上传文件的信息并输出至所述服务器300。具体在提取上传文件的信息后可以计算出一个特定值,将所述特定值输出至所述服务器300,以使每个特定值对应一个上传文件。本实施例中,所述特定值为是根据上传文件的数据进行计算得到的标识所述上传文件的唯一值,用所述特定值可以区别不同的上传文件,所述特定值具体表示为sha1值。其中,提取上传文件信息以及计算特定值的过程均可以通过所述上传插件来实现。如此,在安装了上传插件以后,所述客户端100的浏览器就可以通过所述上传插件来建立与所述服务器300之间的连接,解决了客户端100上的浏览器本身不支持上传超过2G的大文件的问题。而且由于上传插件可以在后台运行,不会一直停留在当面的上传页面,因此,前台的浏览器还可以做其他操作,给用户的使用带来很大的便利。
所述检测模块16用于检测由所述获取模块14获取的文件是否已经在所述服务器300中存在。在实际应用中,该检测模块16可以具体通过php脚本来实现。具体地,所述服务器300根据文件的信息即特定值在所述数据库400中查询是否有所述获取的文件。若所述获取的文件在所述服务器300中存在,则直接提示用户上传完成,再继续从上传队列中获取下一个文件,直到将上传队列中不存在文件,则上传完成。如此,对于已经存在于所述服务器300中的文件则不会再重复上传,而是直接提示用户上传完成,提高了上传速率,达到极速上传的效果,并且避免了所述服务器300中出现冗余的文件,节省了所述服务器300的存储空间。
若所述获取的文件在所述服务器300中不存在,则通过上传模块17上传所述获取的文件。上传完成后,提示用户上传完成,并继续从上传队列中获取下一个文件,直到将上传队列中的文件全部上传完成。本实施例中,在上传文件的过程由于采用的是异步传输,所以浏览器不会出现超时提示,避免了由于上传时间太久给用户造成不便,即在所述客户端100的页面上用户可以同时进行其他操作,使用起来更方便。另外,在上传文件后,如果用户需要加密,则可以对文件使用DES加密算法进行加密。
如图3所示,是本发明实施例提供的文件上传方法的流程图。该文件上传方法包括以下步骤:
步骤S10:在客户端100的浏览器上显示上传页面。具体地,该步骤用于向用户提供显示上传文件的界面,用户在页面上进行上传文件的操作。
步骤S11:用于判断所述客户端100的浏览器上是否安装有上传插件。若所述客户端100的浏览器上没有安装所述上传插件,则进入步骤S12,若所述客户端100的浏览器上已经安装了所述上传插件,则进入步骤S13。
步骤S12:安装上传插件,其中,安装所述上传插件的过程与安装普通的软件相同,仅需点击下一步即可,安装所述上传插件后重启所述客户端100即可使用。
步骤S13:在所述上传页面上选择需要上传的文件,并将选择的文件加入到上传队列中。其中,上传队列的大小并没有限制,理论上可以是无限多个,但是实际会受到所述客户端100的内存的限制。若想同时存在很多个上传队列,只需要保证所述客户端100有足够的内存空间即可。
步骤S14:从上传队列中获取一个文件。
步骤S15:提取上传文件的信息并输出至所述服务器300。具体在提取上传文件的信息后可以计算出一个特定值,将所述特定值输出至所述服务器300,以使每个特定值对应一个上传文件。本实施例中,所述特定值为是根据上传文件的数据进行计算得到的标识所述上传文件的唯一值,用所述特定值可以区别不同的上传文件,所述特定值具体表示为sha1值。其中,提取上传文件信息以及计算特定值的过程均可以通过所述上传插件来实现。如此,在安装了上传插件以后,所述客户端100的浏览器就可以通过所述上传插件来建立与所述服务器300之间的连接,解决了客户端100上的浏览器本身不支持上传超过2G的大文件的问题。而且由于上传插件可以在后台运行,不会一直停留在当面的上传页面,因此,前台的浏览器还可以做其他操作,给用户的使用带来很大的便利。
步骤S16:检测获取的文件是否已经在所述服务器300中存在。在实际应用中,该步骤可以具体通过php脚本来执行。具体地,所述服务器300根据文件的信息即特定值在所述数据库400中查询是否有所述获取的文件。若所述获取的文件在所述服务器300中存在,则进入步骤S17,若所述获取的文件在所述服务器300中不存在,则进入步骤S18。
步骤S17:提示用户上传完成,再继续从上传队列中获取下一个文件,直到将上传队列中不存在文件,则上传完成。如此,对于已经存在于所述服务器300中的文件则不会再重复上传,而是直接提示用户上传完成,提高了上传速率,达到极速上传的效果,并且避免了所述服务器300中出现冗余的文件,节省了所述服务器300的存储空间。
步骤S18:上传获取的文件。上传完成后,提示用户上传完成,并继续从上传队列中获取下一个文件,直到将上传队列中的文件全部上传完成。本实施例中,在上传文件的过程由于采用的是异步传输,所以浏览器不会出现超时提示,避免了由于上传时间太久给用户造成不便,即在所述客户端100的页面上用户可以同时进行其他操作,使用起来更方便。另外,在上传文件后,如果用户需要加密,则可以对文件使用DES加密算法进行加密。
以上所揭露的仅为本发明实施例中的较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种文件上传方法,包括以下步骤:
在客户端的浏览器上显示上传页面;
判断所述客户端的浏览器上是否安装有上传插件;
若所述客户端的浏览器上没有安装所述上传插件,则安装所述上传插件;
若所述客户端的浏览器上已经安装了所述上传插件,在所述上传页面上选择需要上传的文件,并将选择的文件加入到上传队列中;
从上传队列中获取一个文件;及
上传获取的文件。
2.如权利要求1所述的文件上传方法,其特征在于,在从上传队列中获取一个文件之后包括以下步骤:
提取上传文件的信息并输出至服务器;
检测获取的文件是否已经在所述服务器中存在;
若所述获取的文件在所述服务器中存在,则提示用户上传完成;
若所述获取的文件在所述服务器中不存在,则上传获取的文件。
3.如权利要求2所述的文件上传方法,其特征在于,在提示用户上传完成后,继续从上传队列中获取下一个文件,直到将上传队列中的文件全部上传完成。
4.如权利要求2所述的文件上传方法,其特征在于,提取上传文件的信息后并根据该信息计算出一个特定值,将所述特定值输出至所述服务器,以使每个特定值对应一个上传文件。
5.如权利要求4所述的文件上传方法,其特征在于,判断所述获取的文件在所述服务器中存在的步骤包括:
根据所述特定值在一个数据库中查询是否有所述获取的文件。
6.如权利要求4所述的文件上传方法,其特征在于,通过php脚本检测所述获取的文件是否已经在所述服务器中存在。
7.如权利要求1所述的文件上传方法,其特征在于,在上传文件的过程采用的是异步传输。
8.一种文件上传系统,运行于客户端及服务器中,其包括:
显示模块,用于在客户端的浏览器上显示上传页面;
判断模块,用于判断所述客户端的浏览器上是否安装有上传插件,若所述客户端的浏览器上没有安装所述上传插件,则安装所述上传插件;
选择模块,若所述客户端的浏览器上已经安装了所述上传插件,在所述上传页面上选择需要上传的文件,并将选择的文件加入到上传队列中;
获取模块,用于从上传队列中获取一个文件;及
上传模块,用于上传获取的文件。
9.如权利要求8所述的文件上传系统,其特征在于,该系统还包括:
输出模块,用于提取上传文件的信息并输出至服务器;
检测模块,用于检测由获取的文件是否已经在所述服务器中存在,若所述获取的文件在所述服务器中存在,则提示用户上传完成。
10.如权利要求9所述的文件上传系统,其特征在于,提取上传文件的信息后可以计算出一个特定值,将所述特定值输出至所述服务器,以使每个特定值对应一个上传文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410074187.XA CN103795809A (zh) | 2014-03-03 | 2014-03-03 | 文件上传方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410074187.XA CN103795809A (zh) | 2014-03-03 | 2014-03-03 | 文件上传方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103795809A true CN103795809A (zh) | 2014-05-14 |
Family
ID=50671076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410074187.XA Pending CN103795809A (zh) | 2014-03-03 | 2014-03-03 | 文件上传方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103795809A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092741A (zh) * | 2014-06-26 | 2014-10-08 | 湖北安标信息技术有限公司 | 一种基于浏览器的多实例大文件上传的处理方法 |
CN104394183A (zh) * | 2014-07-01 | 2015-03-04 | 贵阳朗玛信息技术股份有限公司 | 文件上传系统、方法及Nginx服务器 |
CN106603603A (zh) * | 2015-10-16 | 2017-04-26 | 北大方正集团有限公司 | 用于支持html5浏览器的多文件异步上传方法及系统 |
CN109819056A (zh) * | 2019-03-28 | 2019-05-28 | 山东浪潮云信息技术有限公司 | 一种基于数据流和哈希比对的文件上传方法及系统 |
CN111125801A (zh) * | 2019-12-27 | 2020-05-08 | 北京安天网络安全技术有限公司 | 一种基于usb自动切换单向远程文件传输方法及装置 |
CN114629893A (zh) * | 2022-03-18 | 2022-06-14 | 深圳市瑞云科技有限公司 | 一种提升浏览器上传大量文件速度的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030200353A1 (en) * | 2002-04-19 | 2003-10-23 | Vikas Dogra | Browser-implemented upload/download of a driver |
CN1713573A (zh) * | 2004-06-22 | 2005-12-28 | 腾讯科技(深圳)有限公司 | 一种网页插件选择下载的实现方法及其装置 |
CN103024015A (zh) * | 2012-12-05 | 2013-04-03 | 新华网股份有限公司 | 一种基于Flex的跨平台的浏览器端校验md5值上传文件的方法 |
CN103188283A (zh) * | 2011-12-27 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 文件上传下载的方法、服务器及系统 |
-
2014
- 2014-03-03 CN CN201410074187.XA patent/CN103795809A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030200353A1 (en) * | 2002-04-19 | 2003-10-23 | Vikas Dogra | Browser-implemented upload/download of a driver |
CN1713573A (zh) * | 2004-06-22 | 2005-12-28 | 腾讯科技(深圳)有限公司 | 一种网页插件选择下载的实现方法及其装置 |
CN103188283A (zh) * | 2011-12-27 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 文件上传下载的方法、服务器及系统 |
CN103024015A (zh) * | 2012-12-05 | 2013-04-03 | 新华网股份有限公司 | 一种基于Flex的跨平台的浏览器端校验md5值上传文件的方法 |
Non-Patent Citations (1)
Title |
---|
石宁琛,李小瑜: "《网页应用中的大文件上传软件开发研究》", 《企业科技与发展》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092741A (zh) * | 2014-06-26 | 2014-10-08 | 湖北安标信息技术有限公司 | 一种基于浏览器的多实例大文件上传的处理方法 |
CN104394183A (zh) * | 2014-07-01 | 2015-03-04 | 贵阳朗玛信息技术股份有限公司 | 文件上传系统、方法及Nginx服务器 |
CN106603603A (zh) * | 2015-10-16 | 2017-04-26 | 北大方正集团有限公司 | 用于支持html5浏览器的多文件异步上传方法及系统 |
CN109819056A (zh) * | 2019-03-28 | 2019-05-28 | 山东浪潮云信息技术有限公司 | 一种基于数据流和哈希比对的文件上传方法及系统 |
CN111125801A (zh) * | 2019-12-27 | 2020-05-08 | 北京安天网络安全技术有限公司 | 一种基于usb自动切换单向远程文件传输方法及装置 |
CN114629893A (zh) * | 2022-03-18 | 2022-06-14 | 深圳市瑞云科技有限公司 | 一种提升浏览器上传大量文件速度的方法 |
CN114629893B (zh) * | 2022-03-18 | 2024-01-30 | 深圳市瑞云科技有限公司 | 一种提升浏览器上传大量文件速度的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103795809A (zh) | 文件上传方法及系统 | |
CN107665233B (zh) | 数据库数据处理方法、装置、计算机设备和存储介质 | |
US9158000B2 (en) | Enhanced location based services | |
CN103414824B (zh) | 一种基于移动终端的自动登录处理方法及系统 | |
US20190166216A1 (en) | Information pushing method and device | |
CN103744985A (zh) | 网页适配的方法和系统 | |
CN107809740B (zh) | Wi-Fi热点部署优化方法、服务器及存储介质 | |
US20180107686A1 (en) | Search method and apparatus | |
US9830169B2 (en) | Method and apparatus for remotely delivering software | |
MY175937A (en) | Method for synchronizing application and background server | |
TW201531876A (zh) | 應用軟體的登入系統及方法 | |
WO2014048250A1 (en) | Termininal interaction methods and related devices and systems | |
CN110209956B (zh) | 提供阅读服务的方法、介质、装置和计算设备 | |
US20190294801A1 (en) | Evaluation of security of firmware | |
CN104238819A (zh) | 移动终端中显示屏状态的检测方法及系统 | |
CN104866526A (zh) | 智能终端及其推荐应用程序的方法 | |
TW201615049A (en) | Method, apparatus, and mobile terminal for collecting location information | |
CN106911554B (zh) | 一种历史信息展示方法及装置 | |
US20170147677A1 (en) | Method, electronic device and system for ordering browsing histories | |
WO2017107431A1 (zh) | 一种图片分类方法、装置及电子设备 | |
CN109117448B (zh) | 热力图生成方法和装置 | |
CN107567074B (zh) | 网络连接方法、装置及终端 | |
CN113254248B (zh) | 一种故障诊断方法、系统及计算设备 | |
US10565636B2 (en) | Electronic device, system, and method | |
CN104778168A (zh) | 一种数据处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140514 |
|
RJ01 | Rejection of invention patent application after publication |