1.FileUpload控件的主要功能是向指定目錄上傳文件。FileUpload控件不會自動上傳控件,而須要設置相關的事件處理程序,而後在程序中實現文件上傳。數組
2.FileUpload控件常見的屬性服務器
FileBytes:獲取上傳文件的字節數組;this
FileContent:獲取指向上傳文件的Stream對象;spa
FileName:獲取上傳文件在客戶端的名稱;(僅獲取文件名稱)rest
HasFile:獲取一個布爾值,用於表示FileUpload控件是否已經包含一個文件;code
PostedFile:使用該對象能夠獲取上傳文件的相關屬性;(ContentLength上傳文件的大小,ContentType文件類型,FileName得到上傳文件在客戶端的完整路徑server
3.FileUpload控件經常使用方法對象
SaveAs(String filename)-----------參數filename是指保存在服務器中的上傳文件的絕對路徑,在調用SaveAs方法以前,先判斷HasFile屬性是否爲trueblog
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爲所響應的時間