top
Loading...
ASP.NET設計網絡硬盤之上傳文件
用戶最終是要和文件打交道的,文件夾僅僅是用來方便管理的。文件的上傳和下載也就成為“網絡硬盤”功能設計中的重要一環。

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


圖“瀏覽”要上傳的文件
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗