当前位置: 首页 > 图文教程 > 网络编程 > ASP > 使用ASP实现文件上载(上传)的各种方法

ASP
ASP 编程中20个非常有用的例子(一)
ASP 编程中20个非常有用的例子(二)
ASP基础教程:ADO存取数据库时如何分页显示
ASP基础教程:其它的ASP常用组件
ASP基础教程:学习ASP中子程序的应用
ASP基础教程之ASP程序对Cookie的处理
ASP基础教程之实例学习ASP Response 对象
ASP基础教程之ASP AdRotator 组件的使用
ADO初学者教程:ADO 通过GetString()加速脚本
初学者来认识OLEDB和ODBC的区别
ASP常见数学函数 Abs Atn Cos 等详细详解
VBScript新手入门初学教程:VBScript简介
有用的无声递交表单的客户端函数
Windows 2003 安装设置iis
ASP技巧实例:几行代码解决防止表单重复提交
ASP读sql数据时出现乱码问题的解决方法
ASP技巧实例:使用ASP记录在线用户的数量
ASP技巧实例:关于对表单操作的程序
ASP技巧实例:ASP实现最简洁的多重查询的解决方案
ASP实例:利用缓存提高数据显示效率

使用ASP实现文件上载(上传)的各种方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 66 ::
收藏到网摘: n/a

 

  最近做在做项目,涉及到文件上载的问题,找来资料研究了一下。当用户需要将文件传输到服务器上时,常用方法是使用FTP方式,用FTP的话虽然传输稳定,但安全性是个严重的问题,而且FTP服务器读用户库获取权限,这样对于用户使用来说还是不太方便。如果我们能把文件上载功能与Web集成,使用户仅用Web浏览器就能完成上载任务,这对于他们来说将是非常方便的。

  网络上有很多介绍ASP上载文件的方法,归结起来有以下三大类实现方法,读者可以根据自己网站的条件和需求来选择合适的方法。

一、服务器组件上载方式:

  该方法以SA-FileUp组件、AspUpload组件、lyfUpload组件为代表。

  Software Artisans的SA-FileUp是最早的商业Active Server组件之一,几经改进,现在作为一个纯粹的ASP组件存在。Persits Software的ASPUpload也是一个功能很强大的COM组件。他们均实现了各种文件上载所需要的功能:上载大文件、限制上载文件的大小、上载多个文件、显示上载进度条、能够将文件保存到数据库中、……。

  该类方法的优点是运行稳定,功能强大,对浏览器没有任何要求。其缺点就是需要在服务器上注册组件。如果网站管理员对服务器拥有管理权限,则该方法应该是实现文件上载的首选。

二、无组件上载方式:

  该方法以化境无组件上传、无惧无组件上传、先锋无组件上传等为代表。

  该方法是网络上应用最多最广的方法,并且有很多应用实例的源代码,其优点是对服务器和浏览器均没有任何要求,适应性强,应用范围广。但它也存在着一个缺点,上载文件的时候没有进度条的显示,并且IIS默认限制不允许上载超过200KB的文件(除非修改IIS的默认设置AspMaxRequestEntityAllowed)。

  如果只需要上载小文件,则应该是首选方案。如果需要上载大文件,则需要网站管理员修改IIS的默认设置AspMaxRequestEntityAllowed。

三、浏览器组件上载方式:

  该方法以XUpload组件、XUploadFiles组件、纵横HTTP文件上传组件为代表。

  该方法在网络上应用相对要少一些,其优点是对服务器无要求,不需要在服务器上安装组件,并且能提供文件上载所需要的各种功能:上载大文件、限制上载文件的大小、上载多个文件、显示上载进度条、……。其缺点也比较明显,需要注册浏览器组件(在客户端)。该方法适用于需要上载大文件,而网站管理员对服务器没有管理权限的情况(如虚拟主机、租用空间等)。

 

  • 各种上载方法横向比较结果:
 服务器要求浏览器要求上传文件限制上传时有无进度条其他
SA-FileUp
安装组件
-
支持大文件,无限制
有进度条
需要有服务器控制权
AspUpload
安装组件
-
支持大文件,无限制
有进度条
需要有服务器控制权
lyfUpload
安装组件
-
支持大文件,无限制
需要有服务器控制权
化境无组件上传
-
-
与IIS设置相关,
IIS默认设置最大200KB
通用,
适用小文件上载
无惧无组件上传
-
-
与IIS设置相关,
IIS默认设置最大200KB
通用,
适用小文件上载
先锋无组件上传
-
-
与IIS设置相关,
IIS默认设置最大200KB
通用,
适用小文件上载
XUploadFiles
-
安装组件
支持大文件,无限制