一种基于AJAX技术的文件上传方法及系统.pdf

上传人:Y0****01 文档编号:1097977 上传时间:2018-03-31 格式:PDF 页数:15 大小:811.72KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910083762.1

申请日:

2009.05.11

公开号:

CN101567903A

公开日:

2009.10.28

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):H04L 29/08登记生效日:20161028变更事项:专利权人变更前权利人:北京中企开源信息技术有限公司变更后权利人:中企动力科技股份有限公司变更事项:地址变更前权利人:100176 北京市北京经济技术开发区西环南路18号C座301室变更后权利人:100176 北京市北京经济技术开发区地盛西路1号1幢A区5层A2-501室|||授权|||实质审查的生效|||公开

IPC分类号:

H04L29/08; H04L29/06

主分类号:

H04L29/08

申请人:

北京中企开源信息技术有限公司

发明人:

佟祥东; 韦崇辉

地址:

100176北京市北京经济技术开发区西环南路18号C座301室

优先权:

专利代理机构:

北京派特恩知识产权代理事务所(普通合伙)

代理人:

王黎延;周义刚

PDF下载: PDF下载
内容摘要

本发明公开一种基于Ajax技术的文件上传方法,包括:用户终端确定需要上传的文件,之后通过Ajax异步通信方式将所述需要上传的文件传送至服务器的缓冲区;服务器收到用户终端发送的确认写入指令,则将所述缓冲区中存储的需要上传的文件写入存储单元,之后删除所述缓冲区中存储的需要上传的文件。本发明还相应地公开一种基于Ajax技术的文件上传系统,采用本发明基于Ajax技术的文件上传方法及系统,上传多个文件时,通过Ajax异步通信方式分时分次将用户确认的需要上传的文件上传到服务器,将原来批量的上传多文件变为了分时分次的上传单个文件,从而减少了用户等待的时间,提高了用户体验。

权利要求书

1、  一种基于Ajax技术的文件上传方法,其特征在于,该方法包括:
用户终端确定需要上传的文件,之后通过Ajax异步通信方式将所述需要上传的文件传送至服务器的缓冲区;
服务器收到用户终端发送的确认写入指令后,将所述缓冲区中存储的需要上传的文件写入存储单元,之后删除所述缓冲区中存储的需要上传的文件。

2、
  根据权利要求1所述的文件上传方法,其特征在于,所述通过Ajax异步通信方式将所述需要上传的文件传送至服务器的缓冲区为:
通过JavaScript创建包含所述需要上传的文件及其相关信息的Ajax异步请求对象;将所述Ajax异步请求对象发送给服务器,如果服务器的缓冲区中存在与所述需要上传的文件同名的文件,则以所述需要上传的文件覆盖缓冲区中与其同名的文件;否则,直接将所述需要上传的文件保存在缓冲区。

3、
  根据权利要求1所述的文件上传方法,其特征在于,所述确定需要上传文件为:用户选择准备上传的文件;用户终端根据所述准备上传的文件的大小和/或类型,判断所述准备上传的文件是否符合上传文件的要求,符合要求时,确定所述准备上传的文件为需要上传的文件;不符合要求时,提示用户文件上传失败。

4、
  根据权利要求1所述的文件上传方法,其特征在于,用户终端将所述需要上传的文件传送至服务器的缓冲区后,该方法进一步包括:需要对所述需要上传的文件进行修改操作时,在用户终端进行修改,之后用户终端通过Ajax异步通信方式将修改后的需要上传的文件传送至服务器的缓冲区,覆盖缓冲区中存储的修改前的文件。

5、
  根据权利要求1所述的文件上传方法,其特征在于,用户终端将所述需要上传的文件传送至服务器的缓冲区后,该方法进一步包括:需要对所述需要上传的文件进行删除操作时,用户终端生成并发送文件删除指令至服务器,服务器根据所述文件删除指令删除缓冲区中存储的需要上传的文件。

6、
  根据权利要求1至5任一项所述的文件上传方法,其特征在于,该方法进一步包括:设置计时时间,所述计时时间内,用户终端未对所述缓冲区中存储的需要上传的文件进行操作,则服务器删除所述缓冲区中存储的需要上传的文件。

7、
  一种基于Ajax技术的文件上传系统,包括服务器和用户终端,其特征在于,所述用户终端包括用户交互单元、Ajax异步通信单元,所述服务器包括:延时缓冲单元、文件写入单元、存储单元;其中,
所述用户交互单元,用于与用户进行交互,确定需要上传的文件,并将所确定需要上传的文件发送给Ajax异步通信单元;以及在用户对需要上传的文件确定正确无误后,发送确认写入指令至Ajax异步通信单元;
所述Ajax异步通信单元,用于将所述用户交互单元确定的需要上传的文件通过Ajax异步通信方式传送至服务器的延时缓冲单元;将所述用户交互单元发送的确认写入指令发送至服务器的文件写入单元;
所述延时缓冲单元,用于缓存所述Ajax异步通信单元传送的需要上传的文件;在写入完成后,根据文件写入单元的通知,删除所述延时缓冲单元中存储的需要上传的文件;
所述文件写入单元,用于在收到所述Ajax异步通信单元发送的确认写入指令后,将所述延时缓冲单元中存储的需要上传的文件写入存储单元;在写入完成后,通知延时缓冲单元删除延时缓冲单元中存储的需要上传的文件;
所述存储单元,用于存储文件写入单元写入的文件。

8、
  根据权利要求7所述的文件上传系统,其特征在于,所述用户交互单元,还用于根据所述准备上传的文件的大小和/或类型,判断所述准备上传的文件是否符合上传文件的要求,符合要求时,确定所述准备上传的文件为需要上传的文件;不符合要求时,提示用户文件上传失败。

9、
  根据权利要求7所述的文件上传系统,其特征在于,所述用户交互单元,还用于通过Ajax异步通信单元将修改后的需要上传的文件传送至服务器的延时缓冲单元,覆盖延时缓冲单元中存储的修改前的文件。

10、
  根据权利要求7所述的文件上传系统,其特征在于,所述用户交互单元,还用于根据用户的删除操作,生成并通过Ajax异步通信单元发送文件删除指令至延时缓冲单元;
所述延时缓冲单元还用于根据收到的文件删除指令删除其中存储的需要上传的文件。

11、
  根据权利要求7至10任一项所述的文件上传系统,其特征在于,所述服务器还包括计时单元,用于根据延时缓冲单元的通知进行计时,并在计时时间到时后,通知延时缓冲单元;
相应的,所述延时缓冲单元,还用于在缓存所述Ajax异步通信单元传送的需要上传的文件后,通知计时单元开始计时;以及根据Ajax异步通信单元发送的文件删除指令删除其中存储的需要上传的文件后,通知计时单元开始计时;以及根据计时单元的通知,删除其中存储的需要上传的文件。

说明书

一种基于Ajax技术的文件上传方法及系统
技术领域
本发明涉及互联网的文件传输技术,尤其涉及一种基于Ajax(AsynchronousJavaScript and XML)技术的文件上传方法及系统。
背景技术
随着互联网技术与应用的不断发展,Web业务平台已经在电子商务、企业信息化中得到广泛应用,越来越多的应用架设在Web业务平台上。文件上传作为Web业务的一个重要组成部分,可以通过插件或编辑器来实现。
随着Web业务的发展,用户对文件上传快速性及安全性的要求也越来越高。目前业界所采用的解决方案,根据一次允许上传文件的多少,分为单文件上传和多文件上传两种方式。传统的单文件上传,每次只能选择一个文件上传,需要用户反复点击“浏览”、“上传”按钮后等待上传,等待时间较长,且操作繁琐,影响用户体验。多文件上传提供非标准的上传接口,允许用户选择多个文件后点“上传”按钮,同步上传多个文件,这种方案有效地降低了操作的繁琐程度,但由于一次上传文件过多,传输数据量增大,从而占用较多的网络带宽,且用户后期等待的时间仍很长,不能提高用户体验。
并且,不论是上述方案的哪一种,一般都采用直接写入服务器硬盘的方式,当用户不满意上传文件时,如果选择删除刚刚写入服务器硬盘的文件,则由于输入/输出(I/O,Input/Output)端口的限制会严重影响到执行速度;如果选择对已上传的文件置之不理,则必然导致已写入服务器硬盘的文件成为垃圾文件,从而浪费服务器资源,更为可怕的是,黑客容易利用这一缺陷,通过在服务器上的磁盘空间放置很多垃圾文件对服务器进行攻击,所以,现有文件上传系统安全性较差。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于Ajax技术的文件上传方法及系统,提高上传文件速度以及安全性,从而提高用户体验。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于Ajax技术的文件上传方法,该方法包括:
用户终端确定需要上传的文件,之后通过Ajax异步通信方式将所述需要上传的文件传送至服务器的缓冲区;
服务器收到用户终端发送的确认写入指令后,将所述缓冲区中存储的需要上传的文件写入存储单元,之后删除所述缓冲区中存储的需要上传的文件。
所述通过Ajax异步通信方式将所述需要上传的文件传送至服务器的缓冲区为:
通过JavaScript创建包含所述需要上传的文件及其相关信息的Ajax异步请求对象;将所述Ajax异步请求对象发送给服务器,如果服务器的缓冲区中存在与所述需要上传的文件同名的文件,则以所述需要上传的文件覆盖缓冲区中与其同名的文件;否则,直接将所述需要上传的文件保存在缓冲区。
所述确定需要上传文件为:用户选择准备上传的文件;用户终端根据所述准备上传的文件的大小和/或类型,判断所述准备上传的文件是否符合上传文件的要求,符合要求时,确定所述准备上传的文件为需要上传的文件;不符合要求时,提示用户文件上传失败。
用户终端将所述需要上传的文件传送至服务器的缓冲区后,该方法进一步包括:需要对所述需要上传的文件进行修改操作时,在用户终端进行修改,之后用户终端通过Ajax异步通信方式将修改后的需要上传的文件传送至服务器的缓冲区,覆盖缓冲区中存储的修改前的文件。
用户终端将所述需要上传的文件传送至服务器的缓冲区后,该方法进一步包括:需要对所述需要上传的文件进行删除操作时,用户终端生成并发送文件删除指令至服务器,服务器根据所述文件删除指令删除缓冲区中存储的需要上传的文件。
该方法进一步包括:设置计时时间,所述计时时间内,用户终端未对所述缓冲区中存储的需要上传的文件进行操作,则服务器删除所述缓冲区中存储的需要上传的文件。
一种基于Ajax技术的文件上传系统,包括服务器和用户终端,所述用户终端包括用户交互单元、Ajax异步通信单元,所述服务器包括:延时缓冲单元、文件写入单元、存储单元;其中,
所述用户交互单元,用于与用户进行交互,确定需要上传的文件,并将所确定需要上传的文件发送给Ajax异步通信单元;以及在用户对需要上传的文件确定正确无误后,发送确认写入指令至Ajax异步通信单元;
所述Ajax异步通信单元,用于将所述用户交互单元确定的需要上传的文件通过Ajax异步通信方式传送至服务器的延时缓冲单元;将所述用户交互单元发送的确认写入指令发送至服务器的文件写入单元;
所述延时缓冲单元,用于缓存所述Ajax异步通信单元传送的需要上传的文件;在写入完成后,根据文件写入单元的通知,删除所述延时缓冲单元中存储的需要上传的文件;
所述文件写入单元,用于在收到所述Ajax异步通信单元发送的确认写入指令后,将所述延时缓冲单元中存储的需要上传的文件写入存储单元;在写入完成后,通知延时缓冲单元删除延时缓冲单元中存储的需要上传的文件;
所述存储单元,用于存储文件写入单元写入的文件。
所述用户交互单元,还用于根据所述准备上传的文件的大小和/或类型,判断所述准备上传的文件是否符合上传文件的要求,符合要求时,确定所述准备上传的文件为需要上传的文件;不符合要求时,提示用户文件上传失败。
所述用户交互单元,还用于通过Ajax异步通信单元将修改后的需要上传的文件传送至服务器的延时缓冲单元,覆盖延时缓冲单元中存储的修改前的文件。
所述用户交互单元,还用于根据用户的删除操作,生成并通过Ajax异步通信单元发送文件删除指令至延时缓冲单元;
所述延时缓冲单元还用于根据收到的文件删除指令删除其中存储的需要上传的文件。
所述服务器还包括计时单元,用于根据延时缓冲单元的通知进行计时,并在计时时间到时后,通知延时缓冲单元;
相应的,所述延时缓冲单元,还用于在缓存所述Ajax异步通信单元传送的需要上传的文件后,通知计时单元开始计时;以及根据Ajax异步通信单元发送的文件删除指令删除其中存储的需要上传的文件后,通知计时单元开始计时;以及根据计时单元的通知,删除其中存储的需要上传的文件。
采用本发明基于Ajax技术的文件上传方法及系统,上传多个文件时,通过Ajax异步通信方式分时分次将用户确认的需要上传的文件上传到服务器,将原来批量的上传多文件变为了分时分次的上传单个文件,从而减少了用户等待的时间,提高了用户体验。
此外,用户确认需要上传的文件并不直接写入存储单元,而是先保存在缓冲区,用户可以对保存在缓冲区的需要上传的文件进行修改、删除等操作,保存在缓冲区的需要上传的文件经用户确认写入后,才写入存储单元。所以,本发明在一定程度上避免了垃圾文件的产生,降低了服务器受攻击的风险,进而提高了系统安全性。
附图说明
图1为本发明基于Ajax技术的文件上传方法流程示意图;
图2为本发明基于Ajax技术的文件上传系统结构示意图。
具体实施方式
Ajax技术,即异步JavaScript和XML技术,是一种创建交互式网页应用的网页开发技术,它基于超文本链接标示语言(HTML)、JavaScriptTM技术、动态超文本链接标示语言(DHTML)和文档对象模型(DOM,Document ObjectModel),可以将笨拙的Web界面转化成交互性的Ajax应用程序。使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据,这使得Web应用程序能够更为迅捷地回应用户动作,并避免在网络上发送那些没有改变过的信息。Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。
基于Ajax技术,本发明的基本思想是:上传多个文件时,采用Ajax异步通信方式分时分次将用户确认的需要上传的文件上传到服务器,将原来批量的上传多文件变为了分时分次的上传单个文件。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
图1为本发明基于Ajax技术的文件上传方法流程示意图,如图1所示,本发明基于Ajax技术的文件上传方法一般包括以下步骤:
步骤101:用户选择准备上传的文件。
这里,用户一般通过浏览器选择准备上传的文件。
步骤102:用户终端判断用户所选择的准备上传的文件是否符合上传文件的要求,如果是,则确定所述准备上传的文件为需要上传的文件,执行步骤103;否则执行步骤110。
这里,用户终端一般通过脚本语言JavaScript判断用户选择的准备上传的文件是否符合上传文件的要求,例如,可以通过判断准备上传文件的大小和/或类型是否在预先设置的文件大小范围和/或文件类型范围内,来判断用户选择的准备上传的文件是否符合上传文件的要求。其中,上传文件的要求可以由系统设置,也可以由用户根据实际需要设置。
步骤103:用户终端通过Ajax异步通信方式将所述需要上传的文件传送至服务器的缓冲区,并启动计时。
在服务器中,有一部分大小不确定的内存空间专门用于存储延时上传的文件,每个用户可以拥有自己独立的缓冲区,相互不会影响,在使用时,缓冲区由系统根据“使用时分配、用完清空”的原则自动进行分配,用户没有使用到缓冲区时,其对应的缓冲区大小为0。
对于需要上传的文件,本发明通过Ajax异步通信方式将所述需要上传的文件传送至服务器的缓冲区,即通过JavaScript创建包含所述需要上传的文件及其相关信息的Ajax异步请求对象,然后将此Ajax异步请求对象发送给服务器的缓冲区。
将需要上传的文件传送至服务器的缓冲区时,如果缓冲区中存在与所述需要上传的文件同名的文件,则以所述需要上传的文件覆盖与其同名的文件;否则,直接将所述需要上传的文件保存在缓冲区。
这里,缓冲区缓存用户终端传送的需要上传的文件之前,还可以根据文件类型等信息判断是否对所述需要上传的文件进行缓存,例如,可以通过判断需要上传文件的大小和/或类型是否在预先设置的文件大小范围和/或文件类型范围内,来判断是否对所述需要上传的文件进行缓存,以进一步提高服务器的安全性。
另外,需要说明的是,有多个用户终端要上传文件时,服务器应为每个用户终端启动一个计时。
步骤104:服务器判断当前用户终端的计时时间是否到时,如果是,则执行步骤108;否则,转到步骤105。
这里,对应每个用户终端的计时时间是预先设置的,例如预先设置计时时间为三十分钟,主要是为了避免因用户遗忘、用户终端故障等原因,导致服务器上产生垃圾文件、服务器资源浪费。
需要说明的是,这里所述计时可采用计时器、定时器、计数器等方式实现,只要能达到计时的目的即可。
步骤105:服务器判断是否收到用户终端的确认写入指令,如果是,则执行步骤109;否则,转到步骤106。
用户对需要上传的文件确定正确无误后,需要激发写入事件,即发送确认写入指令通知服务器将缓冲区中的文件写入存储单元,完成文件的上传工作。
这里,所述存储单元一般为服务器硬盘。
步骤106:判断用户是否对所述需要上传的文件进行修改或删除操作,如果是,则执行步骤107;否则,直接返回步骤104。
步骤107:对缓冲区中存储的需要上传的文件执行相应的修改或删除操作,并重新开始计时,之后返回步骤104。
如果用户需要对需要上传的文件进行修改操作,则在用户终端进行修改后,再由用户终端将修改后的需要上传的文件传送至服务器的缓冲区,覆盖缓冲区中存储的修改前的文件。
如果用户需要对需要上传的文件进行删除操作,则用户终端会根据用户的删除操作生成文件删除指令,并将所述文件删除指令发送至服务器,服务器根据所述文件删除指令删除其缓冲区中存储的需要上传的文件,这里,文件删除指令携带需要删除的文件信息。
步骤108:服务器删除缓冲区中存储的需要上传的文件,本次上传流程结束。
步骤109:服务器将缓冲区中存储的需要上传的文件写入存储单元,之后删除缓冲区存储的需要上传的文件,本次上传流程结束。
步骤110:用户终端提示用户文件上传失败。
图2为本发明基于Ajax技术的文件上传系统结构示意图,如图2所示,本发明基于Ajax技术的文件上传系统包括用户终端21和服务器22,用户终端21具体包括用户交互单元211、Ajax异步通信单元212;服务器22具体包括延时缓冲单元221、文件写入单元222、存储单元223、计时单元224,其中,
用户交互单元211,用于与用户进行交互;
在用户选择准备上传的文件后,判断所述准备上传的文件是否符合上传文件的要求,符合要求时,确定所述准备上传的文件为需要上传的文件,并将所述需要上传的文件及其相关信息发送至Ajax异步通信单元212;不符合要求时,用户交互单元211提示用户文件上传失败;
在用户对需要上传的文件执行修改操作后,将修改后的需要上传的文件及其相关信息发送至Ajax异步通信单元212;
在用户对需要上传的文件执行删除操作后,根据用户的删除操作生成文件删除指令,并发送至Ajax异步通信单元212;
在用户对需要上传的文件确定正确无误后,发送确认写入指令至Ajax异步通信单元212。
这里,用户交互单元211一般通过脚本语言JavaScript判断用户选择的准备上传的文件是否符合上传文件的要求,例如,可以通过判断准备上传文件的大小和/或类型是否在预先设置的文件大小范围和/或文件类型范围内,来判断用户选择的准备上传的文件是否符合上传文件的要求。
其中,上传文件的要求可以由系统设置,也可以由用户根据实际需要设置。文件删除指令一般携带需要删除的文件信息。
Ajax异步通信单元212,用于将来自用户交互单元211的需要上传的文件通过Ajax异步通信方式传送至服务器的延时缓冲单元221;将来自用户交互单元211文件删除指令发送至延时缓冲单元221;将来自用户交互单元211的确认写入指令发送至文件写入单元222。
这里,通过Ajax异步通信方式将所述需要上传的文件传送至服务器的延时缓冲单元,即通过JavaScript创建包含所述需要上传的文件及其相关信息的Ajax异步请求对象,然后将此Ajax异步请求对象发送给服务器的延时缓冲单元。
延时缓冲单元221,用于缓存所述Ajax异步通信单元212传送的需要上传的文件,并在缓存需要上传的文件后,通知计时单元开始计时;
还用于根据Ajax异步通信单元212发送的文件删除指令删除其中存储的需要上传的文件,之后通知计时单元开始计时;根据计时单元224的通知,删除其中存储的需要上传的文件;在写入完成后,根据文件写入单元222的通知,删除所述延时缓冲单元221中存储的需要上传的文件。
在服务器中,有一部分大小不确定的内存空间专门用于存储延时上传的文件,每个用户可以拥有自己独立的延时缓冲单元,相互不会影响,在使用时,延时缓冲单元由系统根据“使用时分配、用完清空”的原则自动进行分配,用户没有使用到延时缓冲区时,其对应的延时缓冲单元大小为0。
将需要上传的文件传送至服务器的延时缓冲单元221时,如果延时缓冲单元221中存在与所述需要上传的文件同名的文件,则以所述需要上传的文件覆盖与其同名的文件;否则,直接将所述需要上传的文件保存在延时缓冲单元221。
延时缓冲单元221缓存用户终端传送的需要上传的文件之前,还可以根据文件类型等信息判断是否对所述需要上传的文件进行缓存,例如,可以通过判断需要上传文件的大小和/或类型是否在预先设置的文件大小范围和/或文件类型范围内,来判断是否对所述需要上传的文件进行缓存,以进一步提高服务器的安全性。
文件写入单元222,用于在收到所述Ajax异步通信单元212发送的确认写入指令后,将所述延时缓冲单元221中存储的需要上传的文件写入存储单元223;在写入完成后,通知延时缓冲单元221删除延时缓冲单元中存储的需要上传的文件。
存储单元223,用于存储文件写入单元222写入的文件。
计时单元224,用于根据延时缓冲单元221的通知进行计时,并在计时时间到时后,通知延时缓冲单元221。
这里,所述计时单元可以是计时器、定时器、计数器等,只要能实现计时目的的设备或器件都可以。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

一种基于AJAX技术的文件上传方法及系统.pdf_第1页
第1页 / 共15页
一种基于AJAX技术的文件上传方法及系统.pdf_第2页
第2页 / 共15页
一种基于AJAX技术的文件上传方法及系统.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《一种基于AJAX技术的文件上传方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种基于AJAX技术的文件上传方法及系统.pdf(15页珍藏版)》请在专利查询网上搜索。

本发明公开一种基于Ajax技术的文件上传方法,包括:用户终端确定需要上传的文件,之后通过Ajax异步通信方式将所述需要上传的文件传送至服务器的缓冲区;服务器收到用户终端发送的确认写入指令,则将所述缓冲区中存储的需要上传的文件写入存储单元,之后删除所述缓冲区中存储的需要上传的文件。本发明还相应地公开一种基于Ajax技术的文件上传系统,采用本发明基于Ajax技术的文件上传方法及系统,上传多个文件时,通。

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

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


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