
在公共機房教學中存在這樣一個問題:一方面,要求學生能夠保存自己的作業(yè)或文件;另一方面,公共機房機器大多是安裝保護卡的,不能存儲文件,如果學生使用U盤還容易交叉感染病毒。針對這一問題,筆者利用ASP.NET開發(fā)了網(wǎng)絡硬盤系統(tǒng)。
網(wǎng)絡硬盤是在服務器上為用戶提供的一塊存儲空間,用戶通過登錄網(wǎng)站或者使用網(wǎng)站提供的客戶端軟件,實現(xiàn)異地的文件上傳和下載。學生利用該系統(tǒng)可以存儲上課用的資料,教師可通過共享方式發(fā)布教學資料,并可通過寫共享目錄的方式接受學生上傳的作業(yè)。
?。?功能設計
根據(jù)網(wǎng)絡硬盤的實際應用,將網(wǎng)絡硬盤進行功能劃分,如圖1所示。
?。保?用戶管理
實現(xiàn)對用戶的注冊、登錄、注銷管理。本系統(tǒng)只對注冊用戶開放使用,每個注冊用戶給予100M硬盤空間,用戶正確登錄后才能使用本網(wǎng)絡硬盤讀取自己的數(shù)據(jù)。學生畢業(yè)后身份注銷,分配的空間收回。
?。保?文件管理
?。ǎ保?新建文件夾。文件夾用于對文件進行分類管理,在本系統(tǒng)中默認建立3個文件夾,分別是:作業(yè)、軟件、娛樂。用戶還可以根據(jù)自己的需要建立或刪除文件夾。
?。ǎ玻?上傳文件。用戶正確登錄進入本系統(tǒng)后可以選擇相應的文件夾,點擊“瀏覽”按鈕選擇文件進行上傳。由于給每個用戶分配的空間有限,所以限定上傳文件最大為4M。
?。ǎ常?刪除文件。給予用戶的空間有限,使用該功能整理用戶文件。
(4) 搜索文件。該功能用于快速定位要操作的文件。
?。ǎ担?下載文件。找到文件點擊下載,提取自己保存的文件。
?。ǎ叮?修改個人資料。對個人資料進行修改。
?。?關鍵技術實現(xiàn)代碼
?。玻?新建文件夾代碼
?。穑颍铮簦澹悖簦澹?void AddBtn_Click(object sender,EventArgs e)
?。?br />
?。螅簦颍椋睿?path = Server.MapPath("./userDisk/") + this.Name.Text;
?。模椋颍澹悖簦铮颍桑睿妫?di = new DirectoryInfo(path);
?。洌椋茫颍澹幔簦澹ǎ?;
string sql = "";
?。螅瘢?= "insert into Directory (U_name,D_name,D_ParentID,D_contein,D_date) values (’" +
?。樱澹螅螅椋铮睿郏ⅲ眨撸睿幔恚澹ⅲ荩裕铮樱簦颍椋睿纾ǎ?+ "’,’" + this.Name.Text + "’,’" + 0 + "’,’" + 0 + "’,’" +
System.DateTime.Now.ToShortDateString() + "’)";
?。模拢牛澹悖ǎ螅瘢欤?br />
?。遥澹螅穑铮睿螅澹祝颍椋簦澹ǎⅲ迹螅悖颍椋穑簦荆幔欤澹颍簦ā?+ "新建文件夾成功?。?+ "’);</script>");
?。?br />
?。玻?上傳文件代碼
?。穑颍铮簦澹悖簦澹?void SureBtn_Click(object sender, EventArgs e)
{
?。螅簦颍椋睿?path = this.FileUpload1.PostedFile.FileName;
if (path == "")
?。?br />
?。遥澹螅穑铮睿螅澹祝颍椋簦澹ǎⅲ迹螅悖颍椋穑簦荆幔欤澹颍簦ā堖x擇要上傳的文件’);</script>");
?。颍澹簦酰颍?;
} string fileName = Path.GetFileName(path);
string savePath = Server.MapPath("Disk") + "/" + fileName;
?。簦瑁椋螅疲椋欤澹眨穑欤铮幔洌保校铮螅簦澹洌疲椋欤澹樱幔觯澹粒螅ǎ螅幔觯澹校幔簦瑁?br />
?。螅簦颍椋睿?sql;
sql = "insert into URL (Ur_name,Ur_url,Ur_contain,Ur_D_name,Ur_date) values(’" + this.TextBox1.Text + "’,’"+"Disk/" + this.DropDownList1.Text + "/" + fileName + "’,’"+this.FileUpload1.PostedFile.ContentLength+"KB"+"’,’" + this.DropDownList1.Text + "’,’" + System.DateTime.Now.ToShortDateString() + "’)";
DB.Exec(sql);
this.TextBox1.Text = "";
?。簦瑁椋螅蹋幔猓澹欤常裕澹?= "上傳成功?。ⅲ?br />
?。?br />
?。玻?下載文件代碼
private void FileDownload(string FullFileName)//
{
?。疲椋欤澹桑睿妫?DownloadFile = new FileInfo(FullFileName);
Response.Clear();
?。遥澹螅穑铮睿螅澹茫欤澹幔颍龋澹幔洌澹颍螅ǎ?;
?。遥澹螅穑铮睿螅澹拢酰妫妫澹?= false; Response.ContentType = "application/octet-stream";
?。遥澹螅穑铮睿螅澹粒穑穑澹睿洌龋澹幔洌澹颍ǎⅲ茫铮睿簦澹睿簦模椋螅穑铮螅椋簦椋铮睿?, "attachment;filename=" +HttpUtility.UrlEncode(DownloadFile.FullName,System.Text.Encoding.UTF8));
?。遥澹螅穑铮睿螅澹粒穑穑澹睿洌龋澹幔洌澹颍ǎⅲ茫铮睿簦澹睿簦蹋澹睿纾簦瑁ⅲ?DownloadFile.Length.ToString());
?。遥澹螅穑铮睿螅澹祝颍椋簦澹疲椋欤澹ǎ模铮鳎睿欤铮幔洌疲椋欤澹疲酰欤欤危幔恚澹?;
?。遥澹螅穑铮睿螅澹疲欤酰螅瑁ǎ?;
?。遥澹螅穑铮睿螅澹牛睿洌ǎ?;
?。?br />
?。?結束語
網(wǎng)絡硬盤是一個功能強大的網(wǎng)絡應用系統(tǒng),本文就其功能和實現(xiàn)代碼作了一定的說明。網(wǎng)絡硬盤可在本文功能上加以擴展,是一個很好的網(wǎng)絡辦公系統(tǒng)。本文所設計網(wǎng)絡硬盤功能已通過ASP.NET編程實現(xiàn)并投入使用,運行穩(wěn)定。