FileUpload控制項
FileUpload Control
應用程式中經常需要允許使用者把檔案上傳到web伺服器。儘管在ASP.NET 1.X也可以完成該功能,但在ASP.NET 2.0中使用FileUpload控制項會更簡單。
該控制項讓使用者更容易地瀏覽和選擇用於上傳的檔案,它包含一個瀏覽按鈕和用於輸入檔案名稱的文字框。只要使用者在文字框中輸入了完整檔案名稱,無論是直接輸入或通過瀏覽按鈕選擇,都可以調用FileUpload的SaveAs方法儲存到磁碟上。
除了從WebControl類繼承的標準成員,FileUpload控制項還公開了幾個唯讀屬性,在表5-8和表5-9列出。
表5-8 FileUpload控制項屬性
| 名 稱 |
類型 |
讀 |
寫 |
說 明 |
| FileContent |
Stream |
× |
|
返回一個指向上傳檔案的流對象 |
| FileName |
string |
× |
|
返回要上傳檔案的名稱,不包含路徑資訊 |
| HasFile |
Boolean |
× |
|
如果是true,則表示該控制項有檔案要上傳 |
| PostedFile |
HttpPostedFile |
× |
|
返回已經上傳檔案的引用。表5-9列出了它所公開的唯讀屬性 |
表5-9 HttpPostedFile屬性
| 名 稱 |
類 型 |
讀 |
寫 |
說 明 |
| ContentLength |
integer |
× |
|
返回上傳檔案的按位元組表示的檔案大小 |
| ContentType |
string |
× |
|
返回上傳檔案的MIME內容類型 |
| FileName |
string |
× |
|
返迴文件在用戶端的完全限定名 |
| InputStream |
Stream |
× |
|
返回一個指向上傳檔案的流對象 |
所有這些屬性將在下面的樣本中說明。
為了查看FileUpload控制項在實際中的運用,建立一個FileUploadDemo網站。在頁面上添加一個FileUpload控制項,然後,添加兩個ASP.NET按鈕,Text屬性分別設定為Save和Display,ID分別設定為btnSave和btnDisplay。增加兩個Label控制項,並分別將ID設定為lblMesage和lblDisplay。用<br/>HTML元素分隔這些控制項。切換到設計檢視,通過雙擊每個按鈕,為它們在程式碼後置檔案中建立具有預設名稱的Click事件處理常式。完成後的內容檔案類似於樣本5-11。
樣本5-11:FileUploadDemo網站的default.aspx
<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”Default.aspx.cs”
Inherits=”_Default” %>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN”
“http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” >
<head runat=”server”>