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