Jon Galloway在这里有一篇好文章:Large file uploads in ASP.NET
他在文章中提到了NeatUpload (它是免费的,在LGPL下发布,LGPL是一种对商业友好的开源许可证),以及到codeplex页面的链接:http://neatupload.codeplex.com/。
项目说明
NeatUpload ASP.NET™组件允许开发人员将上传的文件流式传输到存储(文件系统或数据库),并允许用户监控上传进度。它是开源的,可以在mono的XSP/mod_mono以及微软的ASP.NET实现下工作。
它具有几个自定义控件,包括:
闪存
- MultiFile允许所有用户选择多个要上传的文件,并允许
- 用户从单个文件选择中选择多个文件。MultiFile以内联方式或以格式显示上传进度,可防止用户因离开页面而意外中断上传。
功能
- 在网络花园和网络农场工作。安装在GAC中时,
- 可在中等信任环境下工作。
- 可在mono的XSP/mod_mono和微软的ASP.NET 1.1或更高版本下工作。
- 易于安装和使用。使用Visual Studios Web Forms Designer.
- ProgressBar控件将控件添加到你的Web.config并拖放可以显示处理进度除了上传progress.
- Allows控件使用AJAX风格的无刷新更新在现代浏览器上当JavaScript可用时,还可以让没有JavaScript的用户看到上传progress.
- ProgressBar自定义的通过样式,自定义进度显示页面,UploadStorageProviders和UploadStateStoreProviders,并提供了一个应用程序接口,用于创建您自己的文件上传,并在controls.
- Falls UploadHttpModule不存在的情况下使用ASP.Net的HttpPostedFile进行恢复。如果出于某种原因导致problems.
- Streams直接上载到存储,这使得删除HttpModule变得很容易。这节省了服务器内存,允许更大的上载,并有助于防止在发生错误时拒绝服务attacks.
- Removes上载的文件。这有助于防止在较宽松的通用公共许可证(LGPL)下的磁盘空间leakage.
- Licensed,LGPL是一个商业友好的开源许可证。