AspNET上传大文件的NeatUpload中文文档
NeatUpload 是一款专为ASP.NET设计的组件,用于处理大文件上传,特别是超过100MB的文件。它提供了一套完善的解决方案,包括文件流的存储、上传进度的监控,以及在不同环境下如Mono的XSP或mod_mono服务器上的兼容性。NeatUpload的核心组成部分包括自定义控件、一个HttpModule和一个页面子类。 NeatUpload提供了七个自定义控件,每个都有特定功能。InputFile控件作为单文件上传组件,与HtmlInputFile类似,但增加了访问客户端定义的文件名、内容和MIME类型的能力,同时支持将文件移动到指定位置。MultiFile控件则支持多文件同时上传,允许自定义界面样式。ProgressBar控件用于显示上传进度,可通过属性设置内嵌或弹出显示,并提供了控制按钮来启动刷新进度条的功能。如果JavaScript不可用,它会提供一个备用的非交互式显示。UnloadConfirmer控件会在用户尝试中断上传时显示确认对话框,避免意外取消。HiddenPostBackID控件确保NeatUpload能识别页面上的所有上传文件控件,包括标准ASP.NET控件。DetailsSpan和DetailsDiv控件则用于在无刷新情况下更新上传详情。 UploadHttpModule是一个关键的HttpModule,它可以拦截HTTP请求,将InputFile和MultiFile上传的文件流存储到临时文件夹,并限制后续请求的大小。默认情况下,UploadHttpModule全局拦截所有请求,但可以根据需要仅针对使用了NeatUpload控件的页面进行配置,以防止意外问题。如果UploadHttpModule未配置,NeatUpload将通过HttpRequest.Files属性获取文件,此时InputFile的行为类似HtmlInputFile,但失去进度条功能。 ProgressPage是System.Web.UI.Page的子类,用于显示ProgressBar并提供上传进度信息。默认的Progress.aspx页面就是ProgressPage的一个实例,它通过数据绑定表达式与UploadHttpModule通信,更新DetailsSpan和DetailsDiv控件,实现AJAX无刷新更新。 使用NeatUpload需要满足以下条件: 1. .NET Framework 1.1及更高版本,或者Mono 1.1及1.2。 2. 运行在正常工作的WEB应用程序环境中。 3. 在"Full Trust"或至少"Medium Trust"的托管环境中运行,如果NeatUpload被安装在Web服务器上。 NeatUpload是一个强大且灵活的文件上传解决方案,它提供了一整套工具,包括上传控件、进度监控和安全配置,使得开发者能够更有效地处理大文件上传任务,同时保持用户体验的流畅性和安全性。对于需要处理大文件上传的ASP.NET开发者来说,NeatUpload是一个值得考虑的工具。
剩余33页未读,继续阅读
- enlove2014-02-06很好,努力学习中
- 粉丝: 0
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助