使用asp实现文件上传的各种方法
2008-01-14 14:45
639 查看
最近做在做项目,涉及到文件上载的问题,找来资料研究了一下。当用户需要将文件传输到服务器上时,常用方法是使用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 - 安装组件 支持大文件,无限制 有进度条 租用空间,而需要上载大文件
纵横http文件上传组件 - 安装组件 支持大文件,无限制 有进度条 租用空间,而需要上载大文件
网络上有很多介绍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 - 安装组件 支持大文件,无限制 有进度条 租用空间,而需要上载大文件
纵横http文件上传组件 - 安装组件 支持大文件,无限制 有进度条 租用空间,而需要上载大文件
相关文章推荐
- 使用ASP实现文件上载(上传)的各种方法
- ASP.NET上传下载文件,使用TransmitFile方法实现下载。
- [New Portal]Windows Azure Storage (14) 使用Azure Blob的PutBlock方法,实现文件的分块、离线上传
- ASP.NET上传下载文件示例,使用webClient实现
- java web使用ajaxSubmit方法实现Excel文件上传
- django1.8使用表单上传文件的实现方法
- Android编程使用HTTP协议与TCP协议实现上传文件的方法
- Asp.net_使用FileUpload控件上传文件通用方法分享
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- ASP.NET文件上传Upload的实现方法
- asp.net实现文件无刷新上传方法汇总
- asp.net实现文件无刷新上传方法汇总
- ASP中文件上传组件ASPUpload介绍和使用方法
- ASP中实现文件上传方法的研究
- Asp.net + js 异步上传文件的例子 - 使用iframe实现
- 文件上传的各种实现方法比较
- yii使用activeFileField控件实现上传文件与图片的方法
- django1.8使用表单上传文件的实现方法
- 使用HttpClient实现文件的上传下载方法
- ASP.NET MVC 使用Uploadify实现多文件异步无刷新上传