在常见的B/S模式下企业级架构中上传文件是一个常见业务操作.在.NET 1.1版本是只有对应的客户端HTML版本的Input<Type="File">,在.NET2.0版本添加进来了服务器端的FileUpload控件.
其实考虑在设计这个控件时为了保证.NET安全机制.默认设置是文件上传的大小是2M. 当然可以通过修改系统的Web.Config配置文件达到4M. 其实相对而言Fileupload是一把双刃剑.使用时扬长避短是很重要的.
开发者应该了解的是,之所以默认的文件大小上限为4MB,并不是因为当时的设计人员灵光一现,而是为了避免潜在DOS攻击危险。若是攻击者提交了一个或多个大文件,往往会让服务器不堪重负。若是用户上传的文件大于4MB,将会得到“Maximum request length exceeded.”异常信息. 当然这些就涉及到Asp.net平台下大文件上传的问题作为下一节讨论并实现. 本章主要实现的是利用Asp.net中FileUpload控制的一些基本操作.
最近装上VS2010 Beta2版本. NET FrameWork 4.0.(关系不大)试用一下.以下的项目编码都在该环境下运行.
(A):简单文件上传操作 页面代码:
1
--前台一个上传控件 接着是一个上传按钮
2
<asp:FileUpload ID="FileUpload5" runat="server" Width="475px"></asp:FileUpload>
3
<asp:Button ID="TestFileType" runat="server" Text="上传文件-判断文件类型"
4
onclick="TestFileType_Click" OnClientClick="CheckFileType()" ></asp:Button>
2
3
4
后台Button时间操作代码:
1
//向服务器上传文件-BasicOperatorDemo(基本操作演示) -最简单操作
2
//Author:chenkai Date:2009年11月10日14:22:36
3
protected void bt_upload_Click(object sender, EventArgs e)
4
}
2
3
4
再次逐步的提高要求: A:限制客户端上传文件的文件类型. 只能上传制定的.JPG/.Jpeg/.chm 3种类型的文件. 客户端验证模式:
1
>
上传制定文件类型服务器端验证模式:
1
20