ASP.NET設(shè)計(jì)網(wǎng)絡(luò)硬盤之上傳文件實(shí)現(xiàn)代碼
更新時(shí)間:2012年10月06日 23:27:09 作者:
用戶最終是要和文件打交道的,文件夾僅僅是用來方便管理的。文件的上傳和下載也就成為“網(wǎng)絡(luò)硬盤”功能設(shè)計(jì)中的重要一環(huán)
1、界面布置
這部分功能涉及到的控件主要有兩個(gè):一個(gè)是(ID)為WebFile的File Field控件,用來瀏覽上傳文件路徑;另一個(gè)是(ID)為btnUpLoad的上傳按鈕,單擊它完成文件上傳。
2、代碼實(shí)現(xiàn)
在“設(shè)計(jì)”面板中雙擊btnUpLoad按鈕,為其添加事件處理,其代碼如下所示:
private void BtnUpload_Click(object sender, System.EventArgs e)
{
if(WebFile.PostedFile.FileName=="")
{
Info.Text="請(qǐng)先選擇要上傳的文件";
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); //重新載入當(dāng)前目錄
}
catch
{
Info.Text="上傳文件失敗,請(qǐng)與管理員聯(lián)系";
}
}
首先要判斷用戶是否選擇了要上傳的文件,這可以通過WebFile.PostedFile.FileName屬性來得到。需要說明的是:WebFile是一個(gè)File Field控件對(duì)象,該控件屬于HtmlInputFile類,HtmlInputFile.PostedFile方法用來獲取對(duì)客戶端上載文件的訪問。
在確定用戶選擇了要上傳的文件后,就要對(duì)其上傳的路徑進(jìn)行設(shè)置。首先要得到該文件的文件名。由于用戶提供的是一個(gè)客戶端完整路徑,需要用Split()方法按“//”分隔符進(jìn)行分割,結(jié)果保存在一個(gè)數(shù)組里。如:“C://UserDir//Chapter1//Ch1.doc”可以被分割為四部分,其最后一部分(數(shù)組最后一項(xiàng))正是需要的文件的名稱。在上面的程序中,F(xiàn)ileName[FileName.Length-1]即為用戶上傳的文件名。
得到上傳路徑后就可以進(jìn)行上傳,這里用到PostedFile.SaveAs()方法。完成上傳后,調(diào)用LoadDir()方法就可以顯示出剛才上傳的文件名。
運(yùn)行時(shí)單擊“瀏覽”按鈕,將出現(xiàn)如圖16-5所示的對(duì)話框。選定文件后,單擊“確定”按鈕完成文件上傳工作。

圖“瀏覽”要上傳的文件
這部分功能涉及到的控件主要有兩個(gè):一個(gè)是(ID)為WebFile的File Field控件,用來瀏覽上傳文件路徑;另一個(gè)是(ID)為btnUpLoad的上傳按鈕,單擊它完成文件上傳。
2、代碼實(shí)現(xiàn)
在“設(shè)計(jì)”面板中雙擊btnUpLoad按鈕,為其添加事件處理,其代碼如下所示:
復(fù)制代碼 代碼如下:
private void BtnUpload_Click(object sender, System.EventArgs e)
{
if(WebFile.PostedFile.FileName=="")
{
Info.Text="請(qǐng)先選擇要上傳的文件";
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); //重新載入當(dāng)前目錄
}
catch
{
Info.Text="上傳文件失敗,請(qǐng)與管理員聯(lián)系";
}
}
首先要判斷用戶是否選擇了要上傳的文件,這可以通過WebFile.PostedFile.FileName屬性來得到。需要說明的是:WebFile是一個(gè)File Field控件對(duì)象,該控件屬于HtmlInputFile類,HtmlInputFile.PostedFile方法用來獲取對(duì)客戶端上載文件的訪問。
在確定用戶選擇了要上傳的文件后,就要對(duì)其上傳的路徑進(jìn)行設(shè)置。首先要得到該文件的文件名。由于用戶提供的是一個(gè)客戶端完整路徑,需要用Split()方法按“//”分隔符進(jìn)行分割,結(jié)果保存在一個(gè)數(shù)組里。如:“C://UserDir//Chapter1//Ch1.doc”可以被分割為四部分,其最后一部分(數(shù)組最后一項(xiàng))正是需要的文件的名稱。在上面的程序中,F(xiàn)ileName[FileName.Length-1]即為用戶上傳的文件名。
得到上傳路徑后就可以進(jìn)行上傳,這里用到PostedFile.SaveAs()方法。完成上傳后,調(diào)用LoadDir()方法就可以顯示出剛才上傳的文件名。
運(yùn)行時(shí)單擊“瀏覽”按鈕,將出現(xiàn)如圖16-5所示的對(duì)話框。選定文件后,單擊“確定”按鈕完成文件上傳工作。

圖“瀏覽”要上傳的文件
您可能感興趣的文章:
- ASP.NET設(shè)計(jì)網(wǎng)絡(luò)硬盤之文件夾實(shí)現(xiàn)
- asp.net 網(wǎng)絡(luò)硬盤實(shí)現(xiàn)分析
- ASP.NET+XML打造網(wǎng)絡(luò)硬盤原理分析
- ASP.NET設(shè)計(jì)網(wǎng)絡(luò)硬盤之兩重要類代碼
- ASP.NET設(shè)計(jì)網(wǎng)絡(luò)硬盤之查看文件夾實(shí)現(xiàn)代碼
- ASP.NET設(shè)計(jì)網(wǎng)絡(luò)硬盤之下載或在線查看實(shí)現(xiàn)代碼
- ASP.NET設(shè)計(jì)網(wǎng)絡(luò)硬盤之刪除文件夾實(shí)現(xiàn)代碼
- Asp.net mvc實(shí)時(shí)生成縮率圖到硬盤
相關(guān)文章
Asp.NetCore3.1開源項(xiàng)目升級(jí)為.Net6.0的方法實(shí)現(xiàn)
自從.Net6.0出來后,一直想之前開發(fā)的項(xiàng)目升級(jí).Net6.0,本文就詳細(xì)的介紹一下如何將Asp.NetCore3.1開源項(xiàng)目升級(jí)為.Net6.0,感興趣的小伙伴們可以參考一下2021-12-12
ASP.NET?Core?MVC中使用Tag?Helper組件
這篇文章介紹了ASP.NET?Core?MVC中使用Tag?Helper組件的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02
asp.net Google的translate工具翻譯 API
很久前的一天,我想使用這個(gè)東西,然后看了下,GooGle的Translate工具目前沒有公開API,還是一個(gè)逐漸完善的過程,另一方面,利用一段很小的程序就可以得到我們想要的效果。2008-12-12
發(fā)布一個(gè)基于TokyoTyrant的C#客戶端開源項(xiàng)目
目前在網(wǎng)上關(guān)于TokyoCabinet(以下簡(jiǎn)稱TC)和TokyoTyrant(以下簡(jiǎn)稱TT)的資料已相對(duì)豐富了,但在.NET平臺(tái)上的客戶端軟件卻相對(duì)匱乏,因?yàn)樽鯠iscuz!NT企業(yè)版的關(guān)系,兩個(gè)月前開始接觸TC和TT,開始寫相關(guān)的客戶端代碼。2010-07-07
.NET命令行解析器示例程序(命令行選項(xiàng)功能)
經(jīng)常需要開發(fā)一下小工具,之前都是自己解析命令行參數(shù),接觸過動(dòng)態(tài)語言社區(qū)以后,發(fā)現(xiàn)命令行解析有特定的模式和框架可以利用,本文介紹一個(gè).NET 平臺(tái)的類庫CommandLineParser2013-11-11
ASP.NET?Core中引用OpenAPI服務(wù)的添加示例
這篇文章主要為大家介紹了ASP.NET?Core中引用OpenAPI服務(wù)添加示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
動(dòng)態(tài)組合SQL語句方式實(shí)現(xiàn)批量更新的實(shí)例
動(dòng)態(tài)組合SQL語句方式實(shí)現(xiàn)批量更新的實(shí)例,需要的朋友可以參考一下2013-03-03

