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 = ; i < restrictExtension.Length; i++)
{
if (fileExtension == restrictExtension[])
{
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为所响应的时间