FileUpload控件的主要功能是向指定目录上传文件。该控件包括一个文本和一个浏览按钮。用户可以在文本框中输入完整的文件路径,或者通过按钮浏览并选择需要上传的文件。FileUpload控件不会自动上传文件,必须设置相关的事件处理程序,并在程序中实现文件上传。图1为FileUpload控件。
![]()
图1 FileUpload控件
(1)FileUpload控件常用属性
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属性,仅能获得文件名称)。
(2)FileUpload控件的常用方法
FileUpload控件包括一个核心方法SaveAs(String filename),其中参数filename是指被保存在服务器中的上传文件的绝对路径。通常,在事件处理程序中调用SaveAs方法。然而,在调用SaveAs方法之前,首先应该判断HasFile属性值是否为True。如果为True,则表示FileUpload控件已经确认上传文件存在。此时,就可以调用SaveAs方法实现文件上传。如果为False,则需要显示相关提示信息。