asp.net 網(wǎng)絡(luò)硬盤實現(xiàn)分析
網(wǎng)絡(luò)硬盤的功能要求:
● 用戶登錄、注銷、用戶注冊
● 新建文件夾、上傳文件
● 查看文件屬性(包括:名稱,所在目錄,類型,大小,創(chuàng)建時間)
● 刪除文件
● 更換文件圖標(分為大圖標和小圖標)
● 通過搜索找到自己的文件并可以下載
進入時需有用戶名和密碼方能進入,有效的保護了文件的機密。
網(wǎng)絡(luò)硬盤的開發(fā)其實很簡單,主要使用了類庫Io,用來實現(xiàn)對文件的操作,采取了數(shù)據(jù)庫和物理路徑相對應(yīng)映射的方式完成的,下面就來簡單說說其主要的幾個點:
首先是數(shù)據(jù)庫設(shè)計這塊,根據(jù)自己的需求設(shè)計出最適合的數(shù)據(jù)庫,我設(shè)計的數(shù)據(jù)庫分3個表,T_User,T_FileType,T_FileInfo
T_User

T_FileType

T_FileInfo

其次,我們知道網(wǎng)絡(luò)硬盤是滿足很多用戶的需求的,所以每個用戶都有屬于自己的空間,這就要求我們在頁面中要用登錄和注冊功能,這里要提到的就是在注冊的時候我們就要相應(yīng)位用戶分配空間,名稱最好不要直接用登錄名,可以采取映射的方式命名,如:用戶名是admin,那么物理路徑的目錄名就可以為adminDir,adminFile等等,主要是從安全方面考慮的,注冊完用戶后就會在物理空間中顯示初始創(chuàng)建的幾個文件夾

下面就是要對文件操作的幾點了

對文件的操作首先要保證數(shù)據(jù)庫與物理路徑要保持一致,比如說增加一個文件,物理路徑添加了,數(shù)據(jù)庫也要有相應(yīng)的增加記錄才可以,沒什么大的問題,在這里把下載的代碼貼出來:
private void FileDownload(string FullFileName)//下載
{
FileInfo DownloadFile = new FileInfo(FullFileName); //設(shè)置要下載的文件
Response.Clear(); //清除緩沖區(qū)流中的所有內(nèi)容輸出
Response.ClearHeaders(); //清除緩沖區(qū)流中的所有頭
Response.Buffer = false; //設(shè)置緩沖輸出為false
//設(shè)置輸出流的 HTTP MIME 類型為application/octet-stream
Response.ContentType = "application/octet-stream";
//將 HTTP 頭添加到輸出流
Response.AppendHeader("Content-Disposition",
"attachment;filename=" +
HttpUtility.UrlEncode(DownloadFile.FullName.Substring(FullFileName.LastIndexOf("\\") + 1),
System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
//將指定的文件直接寫入 HTTP 內(nèi)容輸出流。
Response.WriteFile(DownloadFile.FullName);
Response.Flush(); //向客戶端發(fā)送當前所有緩沖的輸出
Response.End(); //將當前所有緩沖的輸出發(fā)送到客戶端
}
修改和轉(zhuǎn)移的邏輯很相似,修改目錄名稱的時候,就是新建一個目錄,然后通過子目錄移到新目錄下面,在數(shù)據(jù)庫中采用遞歸修改子目錄和文件的路徑名稱,修改文件就更簡單了,轉(zhuǎn)移也同樣如此...
- ASP.NET設(shè)計網(wǎng)絡(luò)硬盤之文件夾實現(xiàn)
- ASP.NET+XML打造網(wǎng)絡(luò)硬盤原理分析
- ASP.NET設(shè)計網(wǎng)絡(luò)硬盤之兩重要類代碼
- ASP.NET設(shè)計網(wǎng)絡(luò)硬盤之查看文件夾實現(xiàn)代碼
- ASP.NET設(shè)計網(wǎng)絡(luò)硬盤之上傳文件實現(xiàn)代碼
- ASP.NET設(shè)計網(wǎng)絡(luò)硬盤之下載或在線查看實現(xiàn)代碼
- ASP.NET設(shè)計網(wǎng)絡(luò)硬盤之刪除文件夾實現(xiàn)代碼
- Asp.net mvc實時生成縮率圖到硬盤
相關(guān)文章
Visual Studio 2010崩潰重啟問題(源文件編譯崩潰)
在使用Visual Studio 2010突然出現(xiàn)崩潰現(xiàn)象:源文件修改只要一編譯,馬上就崩潰.搜索了很多的方法也不見效果,經(jīng)過近1天的折騰,已經(jīng)決定重裝Windows 7了,遇到此問題的朋友們可以看看哦,或許對你有所幫助2013-01-01
詳解.NET中string與StringBuilder在字符串拼接功能上的比較
string與StringBuilder的在字符串拼接時執(zhí)行效率上有差異,這篇文章主要介紹了詳解.NET中string與StringBuilder在字符串拼接功能上的比較,感興趣的小伙伴們可以參考一下2018-11-11
.NET讀寫Excel工具Spire.Xls使用入門教程(1)
這篇文章主要為大家詳細介紹了.NET讀寫Excel工具Spire.Xls使用入門教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
asp.net 獲取Datalist中Checkbox的值的小結(jié)
最近開發(fā)過程中遇到一個小問題,要獲取checkbox的值,在網(wǎng)上搜索了一下,發(fā)現(xiàn)基本上都是用JS實現(xiàn)的,現(xiàn)在我將自己的做法記錄一下,以便以后繼續(xù)使用。2010-04-04

