2024年3月11日发(作者:)
Web上传文件的三种解决方案
王建斌 赵靓
(肇庆学院,广东 肇庆 526061)
(肇庆医学高等专科学校,广东 肇庆 526020)
摘 要 介绍了Web上传文件的三种客户端解决方案:HTML表单、RIA以及插件,
它们都可以很好地实现文件上传任务,当然这还需要服务端代码的配合,其中RIA选择了
Flex,插件选择了ActiveX作为代表来介绍。此外,重点在于构建和分析HTTP协议数据
来提供大文件上传的实时上传进度显示。
关键词 Web;HTTP;Flex;ActiveX;文件上传
1 引言
如果是对于几KB至几MB字节的文件上传,确实没有必要写一篇文章去讨论,但是
如果需要上传大文件,例如教师向网络学习系统上传软件、视频等几百MB甚至上GB大
小的文件时,平常所用的方法要么失效,要么不能实时反映上传进度。
文中采用的方法对于小文件和大文件上传一视同仁,并且对可能采用的三种解决方案
进行展示和总结。那么,可能采用的三种解决方案如下:
(1) HTML Form(可含Javascript、Ajax)。
(2) RIA技术(Flex、Silverlight、JavaFX等)。
(3) 插件技术(Acticx、Applet等)。
图1 Web服务存储上传文件的方式
文件上传到服务器,一般可以存放于本地文件系统、数据库和远程FTP等。图1为文
件上传到Web服务器的存放方式示意图。
浏览器/服务器(B/S)模式,其实是一种特殊形式的C/S,浏览器作为客户端,HTTP
作为通信协议。面对简单的文件上传情况,客户端代码只需HTML表单,服务器编写简单
的动态页面和处理代码。而对于复杂的大文件带进度显示的上传,则一般要深入了解HTTP
1.1协议
[1]
以及各类技术如何处理HTTP请求。文中所讲如图2所示的三种解决方案,主要
指的是浏览器端的代码,而服务端不限制使用何种动态页面技术或代码模块。


发布评论