asp.net2.0服务器控件之FileUpload控件
FileUpload控件
1.功能
FileUpload控件显示一个文本框控件和一个浏览按钮,用户通过FileUpload控件可以在客户端上选择一个文件并将该文件上载到Web服务器。该控件允许用户上传图片、文本文件或其他文件。
2.属性
FileUpload控件部分常用属性及描述如表1所示。

表1 FileUpload控件常用属性及描述
下面对比较重要的属性进行详细介绍。
(1)FileBytes属性。该属性返回文件的内容。FileUpload 控件不会自动从客户端读取该文件。用户必须显式提供一个控件或机制,使用户能提交指定的文件。
例如,获得上载文件的大小,代码如下:
this.ful.FileBytes.Length;
(2)FileName属性。该属性获取客户端上使用 FileUpload 控件上载的文件的名称,但FileName 属性返回的文件名不包含此文件在客户端上的路径。
例如,获得上传文件的大小,代码如下:
this.ful.FileName;
(3)HasFile属性。HasFile 属性获取一个值,该值指示FileUpload控件是否包含要上传的文件。在对文件执行操作之前,使用该属性来验证要上传的文件存在。如果FileUpload包含文件,则为True;否则为False。
例如,判断文件是否存在,如果存在则输入文件名;如果不存在则提示文件不存在消息框。代码如下:
if (this.ful.HasFile)
{
Response.Write("文件名为:"+this.ful.FileName);
}
else
{
Response.Write("");
}
3.方法
FileUpload控件常用方法及描述如表2所示。

表2 FileUpload控件常用方法及描述
SaveAs方法将使用 FileUpload 控件上载的文件保存到Web服务器上的指定路径。它有一个string类型的参数,用来指定服务器上保存上载文件的位置的完整路径。
示例
FileUpload控件SaveAs方法的使用
本示例将用户选择的文件保存在“D:”,程序代码如下:
protected void btnUpload_Click(object sender, EventArgs e)
{
if (this.ful.HasFile)
{
string savePath = @"D:";
savePath += this.ful.FileName;
this.ful.SaveAs(savePath);
Response.Write("");
}
else
{//本教程来源http://www.isstudy.com
Response.Write("");
}
}
完整程序代码如下:
★ ★★★★FileUploadTest.aspx代码文件完整程序代码网站源代码★★★★★
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FileUploadTest.aspx.cs" Inherits="FileUploadTest" %>
FileUploadTest
★ ★★★★FileUploadTest.aspx.cs代码文件完整程序代码
网站源代码★★★★★
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class FileUploadTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnUpload_Click(object sender, EventArgs e)
{
if (this.ful.HasFile)
{
string savePath = @"D:";
savePath += this.ful.FileName;
this.ful.SaveAs(savePath);
Response.Write("");
}
else
{