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所示的對話框。選定文件後,單擊“確定”按鈕完成文件上傳工作。
圖“浏覽”要上傳的文件