FileUpload控件的概述

FileUpload控件的主要功能是向指定目录上传文件。该控件包括一个文本和一个浏览按钮。用户可以在文本框中输入完整的文件路径,或者通过按钮浏览并选择需要上传的文件。FileUpload控件不会自动上传文件,必须设置相关的事件处理程序,并在程序中实现文件上传。图1FileUpload控件。

1  FileUpload控件

1FileUpload控件常用属性

FileUpload控件常用属性及说明如表1所示。

1                             FileUpload控件常用的属性及说明

属性名称

属性值

ID

获取或设置分配给服务器控件的编程标识符

FileBytes

获取上传文件的字节数组

FileContent

获取指向上传文件的Stream对象

FileName

获取上传文件在客户端的文件名称

HasFile

获取一个布尔值,用于表示FileUpload控件是否已经包含一个文件

PostedFile

获取一个与上传文件相关的HttpPostedFile对象,使用该对象可以获取上传文件的相关属性

在表1中列出了3种访问上传文件的方式,一种是通过FileBytes属性,该属性将上传文件数据置于字节数组中,遍历该数组,则能够以字节方式了解上传文件内容。第二种是通过FileContent属性,调用该属性可以获得一个指向上传文件的Stream对象。可以使用该属性读取上传文件数据,并使用FileBytes属性显示文件内容。最后一种是通过PostedFile属性,调用该属性可以获得一个与上传文件相关的HttpPostedFile对象,使用该对象可以获得与上传文件相关的信息。例如,调用HttpPostedFile对象的ContentLength,可获得上传文件大小;调用HttpPostedFile对象的ContentType属性,可以获得上传文件类型;调用HttpPostedFile对象的FileName属性,可以获得上传文件在客户端的完整路径(调用FileUpload控件的FileName属性,仅能获得文件名称)。

2FileUpload控件的常用方法

FileUpload控件包括一个核心方法SaveAs(String filename),其中参数filename是指被保存在服务器中的上传文件的绝对路径。通常,在事件处理程序中调用SaveAs方法。然而,在调用SaveAs方法之前,首先应该判断HasFile属性值是否为True。如果为True,则表示FileUpload控件已经确认上传文件存在。此时,就可以调用SaveAs方法实现文件上传。如果为False,则需要显示相关提示信息。