|
文件傳送常用的三種方式FTP、Email及“網(wǎng)上鄰居”都在一定程度上實(shí)現(xiàn)了文件數(shù)據(jù)的交流,但它們都主要面向“點(diǎn)對(duì)點(diǎn)”的傳送,無法實(shí)現(xiàn)“一塊空間,資源互見”的應(yīng)用需求,這種基于“點(diǎn)對(duì)多”的共享模式需要尋求另外的傳輸途徑,網(wǎng)絡(luò)硬盤就是一種很好的解決方式。常用傳輸方式及其在特定環(huán)境下面臨的困難我們經(jīng)常有這樣的應(yīng)用需求:通過網(wǎng)絡(luò)交換公共數(shù)據(jù)文件以實(shí)現(xiàn)資源共享,同時(shí)保護(hù)私有數(shù)據(jù)不被非法訪問,并使用簡(jiǎn)單、直觀的方式操作。
英國(guó)Ewedrive提供1GB的免費(fèi)存儲(chǔ)空間,比較好的是它不限制單個(gè)文件大小。
我們常用的文件傳輸FTP、Email郵件、網(wǎng)上鄰居都能實(shí)現(xiàn)文件的傳送。其中,"Ftp"功能最為強(qiáng)大,但使用起來卻稍顯復(fù)雜,一大堆設(shè)置足以讓許多人望而止步,尤其用戶數(shù)量不可預(yù)見時(shí),針對(duì)特殊需求用戶的設(shè)置將更加繁瑣;"Email"是大家所熟悉的了,但它的傳送不僅需要你連入InterNET,而且它的安全性也是個(gè)問題,在企業(yè)內(nèi)部,財(cái)務(wù)、勞資等文件資料需通過這種方式交流不是好辦法;"網(wǎng)上鄰居"是又一種傳送文件的方法,通過在本機(jī)上指定共享的Web文件夾并放置資源文件,一定范圍內(nèi)的用戶可以訪問到這些文件,然而這種方式使用的范圍相當(dāng)有限,通常在同一個(gè)DNS段地址內(nèi)的用戶才能順利訪問,其它尤其是InterNET上的用戶,很難使用,此外同Email類似,它的使用也不直觀,很多時(shí)候你不得不在許多列表計(jì)算機(jī)上一層層展開搜索才有可能獲取你想要的資源!由此看來,以上三種方式雖然在一定程度上實(shí)現(xiàn)了文件數(shù)據(jù)的交流,但它們都主要面向"點(diǎn)對(duì)點(diǎn)"的傳送(你只能被動(dòng)地等對(duì)方放置數(shù)據(jù)而不能主動(dòng)"可視化"地索取),無法實(shí)現(xiàn)"一塊空間,資源互見"的應(yīng)用需求,這種基于"點(diǎn)對(duì)多"的共享方式需要尋求另外的傳輸途徑,網(wǎng)絡(luò)硬盤就是一種很好的解決方式。
onedump
OneDump存儲(chǔ)空間還是無限制大小的,不過單個(gè)文件只有最大5MB,且同時(shí)傳出10個(gè)文件,可用于存儲(chǔ)一些文檔之類的東西。
網(wǎng)絡(luò)硬盤的優(yōu)勢(shì)網(wǎng)絡(luò)硬盤(也稱共享空間),是服務(wù)器上的一塊硬盤空間,在這里,如果你具備足夠的權(quán)限,你可以對(duì)它隨意操作,就象使用你的本地計(jì)算機(jī)一樣。要知道,這一切以Http的方式傳輸,以Web的形式展現(xiàn)在所有用戶面前,通過瀏覽器這種熟悉的方式訪問,這樣,"一塊空間,資源互見"的共享模式得以實(shí)現(xiàn)!此外,網(wǎng)絡(luò)硬盤界面在客戶端運(yùn)行,它允許用戶提交數(shù)據(jù)到服務(wù)器,然后在指定的范圍內(nèi)管理這些信息,這種處理模式大量使用在實(shí)際開發(fā)中,尤其是在構(gòu)建交互式網(wǎng)絡(luò)文檔管理系統(tǒng)方面:網(wǎng)上考試系統(tǒng)、文件傳輸系統(tǒng)、新聞發(fā)布系統(tǒng)以及公司競(jìng)標(biāo)系統(tǒng)等方面都有大量應(yīng)用!以下使用ASP.NET(VisualC#語(yǔ)言實(shí)現(xiàn))和Xml(可擴(kuò)展標(biāo)記語(yǔ)言)開發(fā)了這樣的網(wǎng)絡(luò)硬盤系統(tǒng)。關(guān)于程序的開發(fā)細(xì)節(jié)及代碼中使用的關(guān)鍵技術(shù)和難點(diǎn),都有詳細(xì)的講解,參照這些說明,你完全可以開發(fā)出自己的網(wǎng)絡(luò)硬盤。
網(wǎng)絡(luò)硬盤開發(fā):網(wǎng)絡(luò)硬盤實(shí)現(xiàn)的功能
我們的網(wǎng)絡(luò)硬盤實(shí)現(xiàn)了以下功能:
1、查看文件夾內(nèi)容
2、創(chuàng)建新文件夾同時(shí)可設(shè)置訪問權(quán)限
3、文件夾間的跳轉(zhuǎn):進(jìn)入下一級(jí),返回上一級(jí)
4、上傳文件到指定文件夾
5、下載文件到本機(jī)或在線查看文件內(nèi)容
6、刪除文件或文件夾
網(wǎng)絡(luò)硬盤開發(fā)細(xì)節(jié)及技術(shù)關(guān)鍵點(diǎn)
1、查看文件夾內(nèi)容
程序一開始將進(jìn)入指定的根文件夾(如/NETHard),這個(gè)文件夾下的內(nèi)容將通過數(shù)據(jù)綁定控件(DataGrid)來列表顯示,包括以下方面:類別(區(qū)別文件夾或文件)、名稱、權(quán)限(是否允許進(jìn)入文件夾?是否可以下載文件?)、刪除(是否允許刪除文件或文件夾?)以及針對(duì)文件夾的創(chuàng)建者。這里,由于文件夾中內(nèi)容動(dòng)態(tài)變化(你不知道什么時(shí)候就有用戶傳送了文件或新建了文件夾或刪除了它們),我們通過動(dòng)態(tài)創(chuàng)建數(shù)據(jù)表DataTable來讀取指定文件夾下的內(nèi)容,然后作為數(shù)據(jù)源與顯示控件DataGrid綁定,這樣,數(shù)據(jù)的顯示就總是適時(shí)的。創(chuàng)建動(dòng)態(tài)表的函數(shù)如下:
publicDataTableBind(stringfullFolderPath) //創(chuàng)建數(shù)據(jù)表讀取文件夾內(nèi)容 { //以下是動(dòng)態(tài)創(chuàng)建數(shù)據(jù)表的方法DataTabledt=newDataTable();DataRowdr; //首先創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)dt.Columns.Add(newDataColumn("type",System.Type.GetType("System.String"))); //類型dt.Columns.Add(newDataColumn("name",System.Type.GetType("System.String"))); //名稱dt.Columns.Add(newDataColumn("action",System.Type.GetType("System.String"))); //操作dt.Columns.Add(newDataColumn("owner",System.Type.GetType("System.String"))); //創(chuàng)建人//為每一行填充數(shù)據(jù)foreach(stringdinDirectory.GetFileSystemEntries(fullFolderPath)) { dr=dt.NewRow();//建新行string[]parts=d.Split(newchar[]{'//'}); stringtxt=parts[parts.Length-1]; //取最后一部分的字符串,它將可能是文件名或文件夾dr[1]=txt; //名稱nameif(File.Exists(d)) //如果是文件 { dr[0]="文件"; //類型typeintpos=currFullPath.IndexOf("NETHard"); stringrelaUrl=currFullPath.Substring(pos); stringurl="http://10.80.50.1/SharedSpace/"+relaUrl+"/"+txt; //10.80.50.1為作者服務(wù)器地址,你應(yīng)該將它修改為你所在服務(wù)器地址dr[2]="下載"; } elseif(Directory.Exists(d)) { //如果是文件夾dr[0]="文件夾"; //type類型stringpassword=GetFolderPassword(d); //取得文件夾密碼信息inttype=GetFolderLimitType(d); if((password!="no")&&(type!=1)) dr[2]="href=PasswordValidate.ASPx?path="+d+">密封"; //操作actionelsedr[2]="進(jìn)入"; //操作actiondr[3]=GetFolderOwner(d);//取文件夾創(chuàng)建者名 } elseResponse.Write("");dt.Rows.Add(dr); //添加行returndt; //返回?cái)?shù)據(jù)表 }
NET技術(shù):網(wǎng)絡(luò)硬盤開發(fā)技巧之ASP.NET+XML,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。