摘 要: 服務(wù)器文件上傳在信息管理系統(tǒng)和數(shù)據(jù)文檔的原始采集等方面的應(yīng)用十分重要。因ASP.NET實(shí)現(xiàn)了網(wǎng)頁(yè)的前臺(tái)與后臺(tái)的分離以及代碼的“隱藏”技術(shù),用ASP.NET構(gòu)建企業(yè)網(wǎng)站越來(lái)越多,基于ASP.NET的服務(wù)器文件上傳關(guān)鍵技術(shù)分析是學(xué)習(xí)與應(yīng)用ASP.NET的重點(diǎn)和難點(diǎn)。
關(guān)鍵詞: ASP.NET 服務(wù)器 文件上傳 技術(shù)分析
1.引言
服務(wù)器文件上傳在信息管理系統(tǒng)以及數(shù)據(jù)文檔的原始采集等方面的應(yīng)用十分重要。ASP.NET實(shí)現(xiàn)了網(wǎng)頁(yè)的前臺(tái)與后臺(tái)的分離以及代碼的“隱藏”技術(shù)。因此,用ASP.NET構(gòu)建企業(yè)網(wǎng)站越來(lái)越多。基于ASP.NET的服務(wù)器文件上傳關(guān)鍵技術(shù)主要分為控件的選擇、控件文件輸入的感知、站點(diǎn)路徑的跟蹤和保存上傳文件等。
2.FileUpload控件
ASP.NET服務(wù)器上傳控件用的是FileUpload控件。在ASP.NET設(shè)計(jì)界面中從工具箱中雙擊FileUpload控件,就可以在頁(yè)面中插入該控件,如圖1所示。具體應(yīng)用如圖2。
3.后臺(tái)代碼編譯
雙擊FileUpload控件就進(jìn)入了頁(yè)面的后臺(tái),在Upload函數(shù)中就可以輸入上傳文件代碼了,后臺(tái)代碼編譯主要包括:
3.1FileUpload1.HasFile屬性。如果該屬性值為true,說(shuō)明控件中已經(jīng)輸入了上傳文件路徑。如果沒(méi)有輸入,F(xiàn)ileUpload1.HasFile屬性為false。
3.2FileUpload1.PostedFile.ContentLength屬性。該屬性主要是檢測(cè)上傳文件的大小,這樣就可以控制上件文件的大小。
3.3Server.MapPath()函數(shù)。該函數(shù)主要是用來(lái)獲取文件的路徑,Server.MapPath(″~″)用來(lái)獲取當(dāng)前頁(yè)面所在的路徑。
3.4FileUpload1.PostedFile.SaveAs()函數(shù)是用來(lái)保存上傳的文件。FileUpload1.PostedFile.SaveAs(Server.MapPath(″~″)+″\upload\″+FileUpload1.FileName)表示在當(dāng)前頁(yè)面所在的文件夾下的upload文件夾中,以上傳文件的文件名保存文件。
4.服務(wù)器文件上傳測(cè)試
根據(jù)上傳文件關(guān)鍵技術(shù)的分析,在后臺(tái)中輸入以下代碼:
if(FileUpload1.HasFile==true)
{string strErr=″ ″;
int filesize=FileUpload1.PostedFile.ContentLength;
//獲得上傳文件的大小
if(filesize>1024*1024)
{strErr=″文件大小不能大于1M/n″;
lblInfo.Text=strErr;}
if(strErr==″ ″)
{string path=Server.MapPath(″~″);
//獲得服務(wù)器文件當(dāng)前路徑FileUpload1.PostedFile.SaveAs(path+″\upload\″+FileUpload1.FileName);
//把上傳文件保存在當(dāng)前路徑的upload中
lblInfo.Text=″文件保存成功″;}}
else
{lblInfo.Text=″請(qǐng)指定上傳的文件″;}
經(jīng)過(guò)測(cè)試系統(tǒng)可以在輸入的路徑“感知”文件是否存在并判斷文件的大小,最后使客戶端上傳的文件上傳到服務(wù)器指定的文件夾中。
5.結(jié)語(yǔ)
基于ASP.NET的服務(wù)器文件上傳關(guān)鍵技術(shù)主要分為控件的選擇、控件文件輸入的感知、站點(diǎn)路徑的跟蹤和保存上傳文件等,對(duì)其關(guān)鍵技術(shù)的學(xué)習(xí)不但可以加強(qiáng)該技術(shù)在服務(wù)器文件管理應(yīng)用,而且可以加深對(duì).NET控件的各屬性組合使用。
參考文獻(xiàn)
[1]彭帥.高校課堂教學(xué)質(zhì)量學(xué)生評(píng)價(jià)機(jī)制的思考[J].廊坊師范學(xué)院學(xué)報(bào)(社會(huì)科版),2010,(2):110-112.
[2]孫剛,徐兵等.基于ASP.NET技術(shù)的Web應(yīng)用系統(tǒng)的開(kāi)發(fā)[J].長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2004,(3):80-83.
[3]劉燁,吳中元.C#編程及應(yīng)用程序開(kāi)發(fā)教程[M].北京:清華大學(xué)出版社,2003:2-498.
[4]馮濤,梅成才.ASP.NET動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)案例教程(C#)[M].北京:北京大學(xué)出版社,2008:59-84.
惠州經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院校級(jí)教改項(xiàng)目:WEB技術(shù)與應(yīng)用課程項(xiàng)目教學(xué)研究與實(shí)踐。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文