国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

asp.net 網(wǎng)絡(luò)硬盤(pán)實(shí)現(xiàn)分析

2020-01-18 00:42:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
所謂“網(wǎng)絡(luò)硬盤(pán)”,就是將服務(wù)器的磁盤(pán)空間提供給用戶使用,用戶可以通過(guò)它在互聯(lián)網(wǎng)上實(shí)現(xiàn)文件的上傳,下載和刪除以及文件夾的創(chuàng)建與刪除。并可以通過(guò)共享文件實(shí)現(xiàn)文件的網(wǎng)絡(luò)共享。  實(shí)際要求是在客戶端完成對(duì)服務(wù)器系統(tǒng)文件或文件夾的訪問(wèn),創(chuàng)建和刪除等功能。

網(wǎng)絡(luò)硬盤(pán)的功能要求:

        ● 用戶登錄、注銷(xiāo)、用戶注冊(cè)

        ● 新建文件夾、上傳文件

        ● 查看文件屬性(包括:名稱(chēng),所在目錄,類(lèi)型,大小,創(chuàng)建時(shí)間)

        ● 刪除文件

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

        ● 通過(guò)搜索找到自己的文件并可以下載

      進(jìn)入時(shí)需有用戶名和密碼方能進(jìn)入,有效的保護(hù)了文件的機(jī)密。

網(wǎng)絡(luò)硬盤(pán)的開(kāi)發(fā)其實(shí)很簡(jiǎn)單,主要使用了類(lèi)庫(kù)Io,用來(lái)實(shí)現(xiàn)對(duì)文件的操作,采取了數(shù)據(jù)庫(kù)和物理路徑相對(duì)應(yīng)映射的方式完成的,下面就來(lái)簡(jiǎn)單說(shuō)說(shuō)其主要的幾個(gè)點(diǎn):

首先是數(shù)據(jù)庫(kù)設(shè)計(jì)這塊,根據(jù)自己的需求設(shè)計(jì)出最適合的數(shù)據(jù)庫(kù),我設(shè)計(jì)的數(shù)據(jù)庫(kù)分3個(gè)表,T_User,T_FileType,T_FileInfo

T_User

T_FileType

T_FileInfo

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

下面就是要對(duì)文件操作的幾點(diǎn)了

對(duì)文件的操作首先要保證數(shù)據(jù)庫(kù)與物理路徑要保持一致,比如說(shuō)增加一個(gè)文件,物理路徑添加了,數(shù)據(jù)庫(kù)也要有相應(yīng)的增加記錄才可以,沒(méi)什么大的問(wèn)題,在這里把下載的代碼貼出來(lái):

復(fù)制代碼 代碼如下:

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 類(lèi)型為application/octet-stream
Response.ContentType = "application/octet-stream";
//將 HTTP 頭添加到輸出流
Response.AppendHeader("Content-Disposition",
"attachment;filename=" +
HttpUtility.UrlEncode(DownloadFile.FullName.Substring(FullFileName.LastIndexOf("http://") + 1),
System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
//將指定的文件直接寫(xiě)入 HTTP 內(nèi)容輸出流。
Response.WriteFile(DownloadFile.FullName);
Response.Flush(); //向客戶端發(fā)送當(dāng)前所有緩沖的輸出
Response.End(); //將當(dāng)前所有緩沖的輸出發(fā)送到客戶端 
}

修改和轉(zhuǎn)移的邏輯很相似,修改目錄名稱(chēng)的時(shí)候,就是新建一個(gè)目錄,然后通過(guò)子目錄移到新目錄下面,在數(shù)據(jù)庫(kù)中采用遞歸修改子目錄和文件的路徑名稱(chēng),修改文件就更簡(jiǎn)單了,轉(zhuǎn)移也同樣如此...

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 塔城市| 中阳县| 吕梁市| 定州市| 渝北区| 阆中市| 赤城县| 东安县| 新晃| 喜德县| 凤山县| 阳城县| 大足县| 方山县| 新绛县| 淮滨县| 健康| 阿克陶县| 桦南县| 洪泽县| 望都县| 九龙坡区| 靖西县| 富宁县| 宁陵县| 三江| 当涂县| 辽源市| 镇坪县| 独山县| 松滋市| 威宁| 上饶县| 中阳县| 上饶县| 荣昌县| 来安县| 海淀区| 荣成市| 乌兰浩特市| 汝阳县|