程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net 網絡硬盤實現分析

asp.net 網絡硬盤實現分析

編輯:ASP.NET基礎
所謂“網絡硬盤”,就是將服務器的磁盤空間提供給用戶使用,用戶可以通過它在互聯網上實現文件的上傳,下載和刪除以及文件夾的創建與刪除。並可以通過共享文件實現文件的網絡共享。  實際要求是在客戶端完成對服務器系統文件或文件夾的訪問,創建和刪除等功能。

網絡硬盤的功能要求:

        ● 用戶登錄、注銷、用戶注冊

        ● 新建文件夾、上傳文件

        ● 查看文件屬性(包括:名稱,所在目錄,類型,大小,創建時間)

        ● 刪除文件

        ● 更換文件圖標(分為大圖標和小圖標)

        ● 通過搜索找到自己的文件並可以下載

      進入時需有用戶名和密碼方能進入,有效的保護了文件的機密。

網絡硬盤的開發其實很簡單,主要使用了類庫Io,用來實現對文件的操作,采取了數據庫和物理路徑相對應映射的方式完成的,下面就來簡單說說其主要的幾個點:

首先是數據庫設計這塊,根據自己的需求設計出最適合的數據庫,我設計的數據庫分3個表,T_User,T_FileType,T_FileInfo

T_User

T_FileType

T_FileInfo

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

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

對文件的操作首先要保證數據庫與物理路徑要保持一致,比如說增加一個文件,物理路徑添加了,數據庫也要有相應的增加記錄才可以,沒什麼大的問題,在這裡把下載的代碼貼出來:
復制代碼 代碼如下:
private void FileDownload(string FullFileName)//下載
{
FileInfo DownloadFile = new FileInfo(FullFileName); //設置要下載的文件
Response.Clear(); //清除緩沖區流中的所有內容輸出
Response.ClearHeaders(); //清除緩沖區流中的所有頭
Response.Buffer = false; //設置緩沖輸出為false
//設置輸出流的 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 內容輸出流。
Response.WriteFile(DownloadFile.FullName);
Response.Flush(); //向客戶端發送當前所有緩沖的輸出
Response.End(); //將當前所有緩沖的輸出發送到客戶端 
}

修改和轉移的邏輯很相似,修改目錄名稱的時候,就是新建一個目錄,然後通過子目錄移到新目錄下面,在數據庫中采用遞歸修改子目錄和文件的路徑名稱,修改文件就更簡單了,轉移也同樣如此...

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved