第二步:创建一个FileUpload控件到Page页面,注意FileUpload控件本身只提供文件的选举操作,而实际的文件上传功能需要我们创建一个Buttion按钮来触发Click事件。
事件程序如下:(代码已经经过测试)
1
protected
void
btnUpload click(
object
sender,EventArgs e)
2 {
3if(FileUpload1.HasFile)
4{ try
5{
6string path=HttpContext.Current.Request.MapPath("~/");
7FileUpload1.SaveAs(path+FileUpload1.FileName); //关键是这句
8txtMsg.Text="文件名称:"+FileUpload1.PostedFile.FileName+"<br>";
9txt.Msg.Text+="文件大小:"+FileUpload1.PostedFile.Contentlength+"Bytes<br>";
10txtMsg.Text+="文件类型:"+FielUpload1.PostedFile.ContentTpe+"<br>" ;
11}
12catch(Exception ex)
13{
14txtMsg.Text=ex.Message;
15}
16}
17else
18{
19txtMsg.Text="您没有选取文件,请从硬盘选取!";
20}
21}
22
2 {
3if(FileUpload1.HasFile)
4{ try
5{
6string path=HttpContext.Current.Request.MapPath("~/");
7FileUpload1.SaveAs(path+FileUpload1.FileName); //关键是这句
8txtMsg.Text="文件名称:"+FileUpload1.PostedFile.FileName+"<br>";
9txt.Msg.Text+="文件大小:"+FileUpload1.PostedFile.Contentlength+"Bytes<br>";
10txtMsg.Text+="文件类型:"+FielUpload1.PostedFile.ContentTpe+"<br>" ;
11}
12catch(Exception ex)
13{
14txtMsg.Text=ex.Message;
15}
16}
17else
18{
19txtMsg.Text="您没有选取文件,请从硬盘选取!";
20}
21}
22
程序说明:
FileUpload1.HasFile用来检查FileUpload是否有指定的文件。
HttpContext.Current.Request.MapPath("~/")获取网站所在磁盘的绝对路径。
FileUpload1.SaveAS()则是将上传文件保存在磁盘上的方法。
FileUpload1.PostedFile.ContentLength获取上传文件的大小,单位是Byte.
FileUpload1.PostedFile.ContentType用于取得上传文件的类型。
需要说明的是Fileopload控件是一个服务器控件,正在精髓之处在于Button的Click事件程序。注意它的默认值是 4096KB,如果要上传更大的文件则需要 调整maxRequestLength长度。
WEB.Config设置如下:
<configuaration>
<system.web>
<httpRuntime maxRequestLength="4096" executionTimeout="120"/>
</system.web>
</configuration>
注意:maxRequestLength是以KB为单位,默认值是4096KB,上传最大是2G.其次是executionTimeout属性是限制上传文件的时间,以秒为单位,默认值是90秒。