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>
protected void Button1_Click(object sender, EventArgs e)
{
bool files = false;
if (this.FileUpload1.HasFile)
{
//獲取上傳文件的後綴
String fileExtension = System.IO.Path.GetExtension(this.FileUpload1.FileName).ToLower();
String[] restrictExtension = { ".gif", ".jpg", ".bmp", ".png" };
//判斷文件類型是否符合
for (int i = 0; i < restrictExtension.Length; i++)
{
if (fileExtension == restrictExtension[1])
{
files = true;
}
}
//調用SaveAs方法實現上傳
if (files == true)
{
try
{
this.Image1.ImageUrl = "~/image/" + FileUpload1.FileName;
this.FileUpload1.SaveAs(Server.MapPath("~/image/") + FileUpload1.FileName);
this.Label1.Text = "文件上傳成功";
this.Label1.Text += "<br/>";
this.Label1.Text += "<li>" + "原文件路徑:" + this.FileUpload1.PostedFile.FileName;
this.Label1.Text += "<br/>";
this.Label1.Text += "<li>" + "文件大小:" + this.FileUpload1.PostedFile.ContentLength + "字節";
this.Label1.Text += "<br/>";
this.Label1.Text += "<li>" + "文件類型:" + this.FileUpload1.PostedFile.ContentType;
}
catch
{
this.Label1.Text = "文件上傳不成功";
}
}
else
{
this.Label1.Text = "只能夠上傳後綴爲.gif、 .jpg、 .bmp、.png的文件夾";
}
}
}
*上傳大文件主要修改Web.config文件來實現,在文件中添加httpRuntime節,在該節中修改兩個參數:maxRequestLength爲最大上傳容量,executionTimeout爲所響應的時間