FileUpload文件上传控件
1.FileUpload控件的主要功能是向指定目录上传文件。FileUpload控件不会自动上传控件,而需要设置相关的事件处理程序,然后在程序中实现文件上传。
2.FileUpload控件常见的属性
FileBytes:获取上传文件的字节数组;
FileContent:获取指向上传文件的Stream对象;
FileName:获取上传文件在客户端的名称;(仅获取文件名称)
HasFile:获取一个布尔值,用于表示FileUpload控件是否已经包含一个文件;
PostedFile:使用该对象可以获取上传文件的相关属性;(ContentLength上传文件的大小,ContentType文件类型,FileName获得上传文件在客户端的完整路径
3.FileUpload控件常用方法
SaveAs(String filename)-----------参数filename是指保存在服务器中的上传文件的绝对路径,在调用SaveAs方法之前,先判断HasFile属性是否为true
4.使用FileUpload控件上传图片文件
<asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="Button1" runat="server" Text="上传" OnClick="Button1_Click" /><br /><br /> <asp:Image ID="Image1" runat="server" /><br /><br /> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
1 protected void Button1_Click(object sender, EventArgs e) 2 { 3 bool files = false; 4 if (this.FileUpload1.HasFile) 5 { 6 //获取上传文件的后缀 7 String fileExtension = System.IO.Path.GetExtension(this.FileUpload1.FileName).ToLower(); 8 String[] restrictExtension = { ".gif", ".jpg", ".bmp", ".png" }; 9 //判断文件类型是否符合 10 for (int i = 0; i < restrictExtension.Length; i++) 11 { 12 if (fileExtension == restrictExtension[1]) 13 { 14 files = true; 15 } 16 } 17 //调用SaveAs方法实现上传 18 if (files == true) 19 { 20 try 21 { 22 this.Image1.ImageUrl = "~/image/" + FileUpload1.FileName; 23 this.FileUpload1.SaveAs(Server.MapPath("~/image/") + FileUpload1.FileName); 24 this.Label1.Text = "文件上传成功"; 25 this.Label1.Text += "<br/>"; 26 this.Label1.Text += "<li>" + "原文件路径:" + this.FileUpload1.PostedFile.FileName; 27 this.Label1.Text += "<br/>"; 28 this.Label1.Text += "<li>" + "文件大小:" + this.FileUpload1.PostedFile.ContentLength + "字节"; 29 this.Label1.Text += "<br/>"; 30 this.Label1.Text += "<li>" + "文件类型:" + this.FileUpload1.PostedFile.ContentType; 31 } 32 catch 33 { 34 this.Label1.Text = "文件上传不成功"; 35 } 36 } 37 else 38 { 39 this.Label1.Text = "只能够上传后缀为.gif、 .jpg、 .bmp、.png的文件夹"; 40 } 41 } 42 }
*上传大文件主要修改Web.config文件来实现,在文件中添加httpRuntime节,在该节中修改两个参数:maxRequestLength为最大上传容量,executionTimeout为所响应的时间