计算机时代2006年第6期
(38(
运用
Aspnet
oad组件实现基于Web的文件上传Upl
刘兴权!陈习森
GI研究中心!湖南长沙410083)(S
摘要’引入Aspnetpl控件!在介绍AsUoadpnetpl控件使用方法的基础上!运用C1语言成功实现了基于Web的Uoad文件上传和下载"该方法克服了ASP.ET中Htlnputl控件在大文件上传方面的缺陷"NmIFie关键词’Aspnetpl#ASP.ET#Web#文件上传下载UoadN
0引言
在
网络应用
程序的开发过程中我们经常需要通过客户端将文件上传到服务器或从服务器下载文件!目前FTP和HTTP这两种协议可以帮助我们实现这一功能"运用FTP虽说传输稳定但FTP服务器的部署相对麻烦!权限设置复杂!如果设置不对!还会惹来一系列的安全
问题#如果双方设有防火墙且不想开放与FTP相关的端口时!其实用性就会大大降低"HTTP有PPUT$
)操作
系统’Windows2000!WindowsXP!Windows
NET.Ser2003Famiy"verl*开发平台’需安装.ETFrewor1.或以上版本!不Namkx
同的开发工具需要下载不同的Aspnetpl版本!并安装相应Uoad的开发工具"
2AspnetplUoad组件的使用方法
AsUpl组件可到htp:/ww.pnetoad.官方pnetoadt/wasuplnet
网站
免费获取"笔者获取的为AspnetplUoad2.2ForC#版1.本!下载后进行安装!
软件会自动在c:Ipub\wwr路径下\netwoot创建名为AspnetpLoadDemo的目录!目录中包含各种相关文U件!开发过程中需实现某些功能时可直接从该文件夹拷贝并修改相关文件即可"该控件具体使用过程与方法如下’
WEBDAV$RFC1867三种机制可实现将文件上传到服务器!但
前两种方法都不适合大文件的上传!目前主流使用的都是基于
RFC1867标准的表单文件上传方式"ASP.ET作为网络开发的利器!提供了一个
HTML控件N
%-Htlnputl&;可轻松实现文件的上传"该控件使用简单!只mIFie%nputt%unater&;需在iype=fl&;的属性中增加一个r=sver属性即ie可实现在服务器端管理文件上传"但该控件默认的是单文件上传!且在ASP.ET中默认上传文件的大小为4M!通过设置N
2..ET环境引入Aspnetpl1NUoad组件
+新建一个基于C,的ASP.ETWeb应用程序!名称N
自定义"笔者取名为Fiest"lSysem
maxRequesLengt值并不能很好地解决大文件的上传!因为thASP.ET在把整个文件载入内存的过程中会受到连接超时的N
影响!导致客户端错误!而服务器端却捕捉不到这个错误"笔者采用AspnetpLoad组件解决了大文件和多文件同时上传的问U题!并实现了文件上传进度条的提示"
-从AsUplpnetoadDemo的bi文件夹下拷贝名为BesntlSysembicomy.eb.WContol.pldl文件到对应的Fiest\n文rsUoad.l
件夹下"
.在Fiest项目下选择%项目&;菜单并点击添加引lSysem
用!通过浏览按钮打开Bescomy.eb.tWContol.pldl文件!rsUoad.l点击确定即可实现将该Dl文件添加到项目中"l