1、介面布置
這部分功能涉及到的控制項主要有兩個:一個是(ID)為WebFile的File Field控制項,用來瀏覽上傳檔案路徑;另一個是(ID)為btnUpLoad的上傳按鈕,單擊它完成檔案上傳。
2、代碼實現
在“設計”面板中雙擊btnUpLoad按鈕,為其添加事件處理,其代碼如下所示:複製代碼 代碼如下:private void BtnUpload_Click(object sender, System.EventArgs e)
{
if(WebFile.PostedFile.FileName=="")
{
Info.Text="請先選擇要上傳的檔案";
return;
}
try
{
char[] spliter = {'\\'};
string [] FileName = WebFile.PostedFile.FileName.Split(spliter,10);
string FullPath = CurrentPath + @"\" + FileName[FileName.Length-1];
//產生完整檔案名稱
WebFile.PostedFile.SaveAs(FullPath); //儲存檔案
LoadDir(CurrentPath); //重新載入目前的目錄
}
catch
{
Info.Text="上傳檔案失敗,請與管理員聯絡";
}
}
首先要判斷使用者是否選擇了要上傳的檔案,這可以通過WebFile.PostedFile.FileName屬性來得到。需要說明的是:WebFile是一個File Field控制項對象,該控制項屬於HtmlInputFile類,HtmlInputFile.PostedFile方法用來擷取對用戶端上傳檔案的訪問。
在確定使用者選擇了要上傳的檔案後,就要對其上傳的路徑進行設定。首先要得到該檔案的檔案名稱。由於使用者提供的是一個用戶端完整路徑,需要用Split()方法按“//”分隔字元進行分割,結果儲存在一個數組裡。如:“C://UserDir//Chapter1//Ch1.doc”可以被分割為四部分,其最後一部分(數組最後一項)正是需要的檔案的名稱。在上面的程式中,FileName[FileName.Length-1]即為使用者上傳的檔案名稱。
得到上傳路徑後就可以進行上傳,這裡用到PostedFile.SaveAs()方法。完成上傳後,調用LoadDir()方法就可以顯示出剛才上傳的檔案名稱。
運行時單擊“瀏覽”按鈕,將出現16-5所示的對話方塊。選定檔案後,單擊“確定”按鈕完成檔案上傳工作。
圖“瀏覽”要上傳的檔案