版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 本科畢業(yè)設(shè)計(jì)</b></p><p><b> ?。?0 屆)</b></p><p><b> 數(shù)據(jù)備份網(wǎng)站設(shè)計(jì)</b></p><p> 所在學(xué)院 </p><p> 專業(yè)班級(jí)
2、 通信工程 </p><p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘
3、要</b></p><p> 當(dāng)今,靠人工進(jìn)行文本存儲(chǔ)、資料信息傳送和信息共享的方式已經(jīng)逐漸被淘汰,而依靠計(jì)算機(jī)進(jìn)行網(wǎng)絡(luò)存儲(chǔ)、資料信息傳送和信息共享已經(jīng)越來越普遍,而且人們需要存儲(chǔ)的數(shù)據(jù)量越來越大,還要要求使用方便,能夠在網(wǎng)絡(luò)的任何地方訪問存儲(chǔ)的數(shù)據(jù)。在此形勢(shì)下,基于網(wǎng)絡(luò)的存儲(chǔ)與交換系統(tǒng)迅速發(fā)展起來,使得以上問題迎刃而解。</p><p> 本文采用ASP.net技術(shù)與We
4、b數(shù)據(jù)庫(kù)的結(jié)合,開發(fā)了一個(gè)B/S(Browser/Server)結(jié)構(gòu)研究的系統(tǒng)。利用Microsoft Visual Studio.NET工具結(jié)合使用SQL Server數(shù)據(jù)庫(kù)、ASP.NET、C群和ADO.NET等技術(shù)的實(shí)現(xiàn)原理及特點(diǎn)為理論依據(jù),實(shí)現(xiàn)用戶注冊(cè)管理、后臺(tái)管理和用戶空間管理功能;為每個(gè)用戶提供了個(gè)人的存儲(chǔ)空間;用戶可以通過瀏覽器實(shí)現(xiàn)文件的上傳、下載和資源的共享;根據(jù)用戶空間等級(jí)限制用戶存儲(chǔ)空間的大??;為用戶共享文件提供積分
5、制;通過積分制來對(duì)用戶空間升級(jí)實(shí)行優(yōu)惠。</p><p> 關(guān)鍵詞:網(wǎng)絡(luò)存儲(chǔ);上傳下載;資源共享</p><p><b> Abstract</b></p><p> Nowadays, the methods depending on manual in text storage, data switching and informat
6、ion sharing are gradually eliminated. But, the methods depending on the computer in the network storage, data switching and information sharing have become increasingly common, and the stored data is growing,and People n
7、eed convenient usage,and can access the stored data in the network. In this position, the system of the network-based storage and interchange is rapidly developing, and the above problemes are r</p><p> In
8、this paper, the system uses Microsoft Visual Studio 2010 as a developing tool and use SQL Server 2000 database realize Data Storage. The system is completed with the function of user management and User space management.
9、 To provide each user a personal storage space , users can upload and download file, background management and share resources by browser; According to user space restrictions grading users storage size ,integrating syst
10、em for users to share file, and through integrating syste</p><p> Key words: Network storage; Upload and Download; Resource sharing </p><p><b> 目 錄</b></p><p><b&g
11、t; 1引 言1</b></p><p> 1.1 課題背景1</p><p> 1.2 課題研究的意義1</p><p> 1.3 網(wǎng)絡(luò)存儲(chǔ)的特點(diǎn)1</p><p> 2 開發(fā)系統(tǒng)的介紹2</p><p> 2.1 Microsoft Visual Studio2</p&
12、gt;<p><b> 2.1.1簡(jiǎn)介2</b></p><p> 2.1.2發(fā)展歷程2</p><p> 2.2 SQL Server 20003</p><p><b> 2.2.1簡(jiǎn)介3</b></p><p><b> 2.2.2版本3</b
13、></p><p> 2.3軟硬件平臺(tái)3</p><p> 2.3.1硬件平臺(tái)3</p><p> 2.3.2軟件平臺(tái)3</p><p> 3 B/S結(jié)構(gòu)與C/S結(jié)構(gòu)的比較4</p><p> 3.1 開發(fā)和維護(hù)成本4</p><p> 3.2客戶端任務(wù)4<
14、/p><p> 3.3采用的標(biāo)準(zhǔn)4</p><p><b> 3.4靈活性4</b></p><p><b> 3.5安全性4</b></p><p><b> 3.6移植性5</b></p><p><b> 4 系統(tǒng)框架6&
15、lt;/b></p><p> 4.1網(wǎng)站設(shè)計(jì)技術(shù)選型6</p><p><b> 4.2總體框架6</b></p><p><b> 4.3后臺(tái)管理7</b></p><p> 4.3.1用戶管理7</p><p> 4.3.2共享管理7</
16、p><p> 4.3.3管理員管理7</p><p> 4.3.4收費(fèi)管理7</p><p> 4.4 用戶注冊(cè)7</p><p> 4.5用戶空間管理8</p><p> 4.5.1文件管理8</p><p> 4.5.2共享查詢8</p><p>
17、 4.5.3空間升級(jí)和信息查詢8</p><p> 4.5.4修改個(gè)人資料8</p><p><b> 5 數(shù)據(jù)庫(kù)設(shè)計(jì)9</b></p><p> 5.1系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)9</p><p> 5.2系統(tǒng)數(shù)據(jù)庫(kù)9</p><p> 6 系統(tǒng)模塊介紹12</p>
18、<p> 6.1用戶登陸模塊12</p><p> 6.2用戶注冊(cè)模塊13</p><p> 6.3用戶主界面模塊15</p><p> 6.4文件存儲(chǔ)管理16</p><p> 6.5文件上傳模塊19</p><p> 6.6我的共享查詢模塊22</p><p&g
19、t; 6.7公共共享查詢模塊22</p><p> 6.8用戶資料修改模塊24</p><p> 6.9空間升級(jí)查詢模塊25</p><p> 6.10后臺(tái)管理登錄模塊25</p><p> 6.11后臺(tái)管理主界面模塊26</p><p> 6.12用戶管理模塊26</p><
20、;p> 6.13管理員管理模塊26</p><p> 6.14共享管理模塊27</p><p> 6.15收費(fèi)管理模塊28</p><p><b> 7 結(jié)論31</b></p><p> 致 謝錯(cuò)誤!未定義書簽。</p><p><b> 參考文獻(xiàn)32&l
21、t;/b></p><p> 附件1 畢業(yè)設(shè)計(jì)作品說明書33</p><p> 附件2 代碼35</p><p><b> 1引 言</b></p><p><b> 1.1 課題背景 </b></p><p> 隨著現(xiàn)代網(wǎng)絡(luò)的發(fā)展,人們所需要存儲(chǔ)交
22、流的信息量越來越大,每天都在產(chǎn)生海量的信息。在這個(gè)信息化時(shí)代,過去依靠人工進(jìn)行存儲(chǔ),傳誦資料的手段已經(jīng)不能滿足人們的需求,而USB存儲(chǔ)也不能完全滿足。現(xiàn)代人們對(duì)信息的需求要求快速,有效,隨時(shí)隨地。而網(wǎng)絡(luò)存儲(chǔ)技術(shù)的興起,使得人們可以在任何時(shí)候,任何有網(wǎng)絡(luò)的地方,進(jìn)行信息的存儲(chǔ)已經(jīng)交流[2]。因此,很多人都希望有一個(gè)良好的網(wǎng)絡(luò)平臺(tái),解決資料信息的存儲(chǔ)、攜帶和交流的煩惱。</p><p> 1.2 課題研究的意義&l
23、t;/p><p> 在這個(gè)信息化時(shí)代,對(duì)信息交流效率的要求越來越高。那么,本文主要研究建立一個(gè)數(shù)據(jù)存儲(chǔ)系統(tǒng),可以簡(jiǎn)稱為網(wǎng)絡(luò)硬盤,它是服務(wù)器上的一塊硬盤空間,只要管理者有足夠的權(quán)限,就能對(duì)它隨意操作。在這塊空間了里注冊(cè)的用戶可以存儲(chǔ),分享權(quán)限范圍內(nèi)的數(shù)據(jù),并且可以下載他人所共享的數(shù)據(jù),只要有網(wǎng)絡(luò),用戶可以隨時(shí)上傳、下載和分享數(shù)據(jù)。</p><p> 1.3 網(wǎng)絡(luò)存儲(chǔ)的特點(diǎn)</p>
24、<p> 保障網(wǎng)絡(luò)系統(tǒng)的順利運(yùn)行,是每個(gè)用戶最為關(guān)心的問題。而網(wǎng)絡(luò)備份的最終目的,就是要解決這個(gè)問題。所以,一份優(yōu)秀的網(wǎng)絡(luò)備份方案就要能夠備份系統(tǒng)所有的數(shù)據(jù),在網(wǎng)絡(luò)出現(xiàn)故障甚至損壞時(shí),能夠迅速地恢復(fù)網(wǎng)絡(luò)次同和數(shù)據(jù),從發(fā)現(xiàn)故障到完全恢復(fù)系統(tǒng),理想的備份妨礙耗時(shí)不應(yīng)超過半個(gè)工作日。這樣,如果系統(tǒng)出現(xiàn)災(zāi)難性故障,我們就可以把損失降到最低。我們?cè)谶x擇備份系統(tǒng)時(shí),既要系統(tǒng)容量不斷增加的需求,又需要所用的備份軟件能夠支持多平臺(tái)系統(tǒng)。
25、要做到這些,就要充分使用網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)管理系統(tǒng)。它是在分布式網(wǎng)絡(luò)環(huán)境下,通過專業(yè)的數(shù)據(jù)存儲(chǔ)管理軟件,結(jié)合相應(yīng)的硬件和存儲(chǔ)設(shè)備,對(duì)網(wǎng)絡(luò)的數(shù)據(jù)備份進(jìn)行集中掛歷,從而實(shí)現(xiàn)自動(dòng)化的備份,文件歸檔,數(shù)據(jù)分級(jí)存儲(chǔ)及災(zāi)難恢復(fù)等[3]。</p><p> 2 開發(fā)系統(tǒng)的介紹</p><p> 2.1 Microsoft Visual Studio </p><p><b&
26、gt; 2.1.1簡(jiǎn)介</b></p><p> Visual Studio是目前最流行的 Windows平臺(tái)應(yīng)用程序開發(fā)環(huán)境。目前已經(jīng)開發(fā)到 10.0 版本,也就是 Visual Studio 2010。</p><p><b> 2.1.2發(fā)展歷程</b></p><p> Visual Studio 97 是最早的 V
27、isual Studio 版本。 1998 年,微軟公司發(fā)布了 Visual Studio 6.0。所有開發(fā)語言的開發(fā)環(huán)境版本均升至 6.0。 2002 年,隨著 .NET 口號(hào)的提出與 Windows XP / Office XP 的發(fā)布,微軟發(fā)布了 Visual Studio .NET(內(nèi)部版本號(hào)為 7.0) 2003 年,微軟對(duì) Visual Studio 2002 進(jìn)行了部分修訂,以 Visual Studio
28、2003 的名義發(fā)布(內(nèi)部版本號(hào)為 7.1)。 2005 年,微軟發(fā)布了 Visual Studio 2005。.NET 字眼從各種語言的名字中被抹去,但是這個(gè)版本的 Visual Studio 仍然還是面向 .NET 框架的(版本2.0)。 2007年11月,微軟發(fā)布了 Visual Studio 2008 英文版, 2008年2月14日發(fā)布了簡(jiǎn)體中文專業(yè)版。 2010年4月12微軟發(fā)布Visual Stud
29、io 2010以及.NET Framework 4.0,并于2010年5月</p><p> 2.2 SQL Server 2000</p><p><b> 2.2.1簡(jiǎn)介</b></p><p> SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫(kù)管理系統(tǒng)的最新版本該版本繼承了SQL Serv
30、er 7.0 版本的優(yōu)點(diǎn)同時(shí)又比它增加了許多更先進(jìn)的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn)可跨越從運(yùn)行Microsoft Windows 98 的膝上型電腦到運(yùn)行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺(tái)使用</p><p><b> 2.2.2版本</b></p><p> SQL Server 2000有7個(gè)版
31、本,包括企業(yè)版(Enterprise Edition)、標(biāo)準(zhǔn)版(Standard Edition)、個(gè)人版(Personal Edition)、開發(fā)版(Developer Edition)、桌面版(Desktop Edition)、WindowsCE版(Windows CE Edition)和企業(yè)評(píng)估版(Evaluation Edition)。其中,最常用的是前3個(gè)版本。</p><p><b> 2
32、.3軟硬件平臺(tái)</b></p><p><b> 2.3.1硬件平臺(tái)</b></p><p> 為了正確安裝和正常運(yùn)行SQL Server 2000,計(jì)算機(jī)必須達(dá)到所要求的最低硬件配置。</p><p> 主機(jī):Intel及其兼容CPU,主頻Pentium166MHz以上。</p><p> 內(nèi)存:容
33、量至少達(dá)到64MB。</p><p> 硬盤:270MB安裝空間及其必要的為數(shù)據(jù)預(yù)留的空間。</p><p><b> 2.3.2軟件平臺(tái)</b></p><p> SQL Server 2000的軟件平臺(tái)是Windows操作系統(tǒng),不同的SQL Server 2000版本所要求的操作系統(tǒng)是不一樣的。因此,必須了解SQL Server 20
34、00對(duì)操作系統(tǒng)的基本要求。</p><p> 企業(yè)版:Windows NT Server /2000 Advanced Server, Internet Explorer5.0以上。</p><p> 標(biāo)準(zhǔn)版:Windows NT Server /2000 Server及更高版本,Internet Explorer5.0以上。</p><p> 個(gè)人版本:Wi
35、ndows 98/2000 Professional/XP及更高版本,Internet Explorer5.0以上。</p><p> 3 B/S結(jié)構(gòu)與C/S結(jié)構(gòu)的比較</p><p> 3.1 開發(fā)和維護(hù)成本</p><p> C/S開發(fā)和維護(hù)成本較高,對(duì)不同的客戶端要開發(fā)不同程序,編程工作量大,對(duì)于B/S,只需在客戶端安裝通用的瀏覽器,所有的維護(hù)和升級(jí)工
36、作都是在服務(wù)器上執(zhí)行的,不需對(duì)客戶端進(jìn)行任何改變,故而大大降低了開發(fā)和維護(hù)成本。</p><p><b> 3.2客戶端任務(wù)</b></p><p> C/S的客戶端具有顯示和處理數(shù)據(jù)的功能,任務(wù)過重,B/S的客戶端把事務(wù)邏輯部分分給了服務(wù)器,不再負(fù)責(zé)處理復(fù)雜計(jì)算和數(shù)據(jù)訪問等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分,任務(wù)大大減輕[4]。</p><p>&
37、lt;b> 3.3采用的標(biāo)準(zhǔn)</b></p><p> C/S所采用的標(biāo)準(zhǔn)只在內(nèi)部統(tǒng)一,其應(yīng)用通常是專用的。B/S所采用的標(biāo)準(zhǔn)是開放的、非專用的,保證了其應(yīng)用的通用性和跨平臺(tái)性。</p><p><b> 3.4靈活性</b></p><p> C/S系統(tǒng)模塊中每一部分的變動(dòng)均要影響到其它模塊的變動(dòng),系統(tǒng)升級(jí)困難,靈活
38、性差。B/S各層之間相互獨(dú)立,任何一層的改變不影響其它層的功能,系統(tǒng)改進(jìn)非常容易,靈活性好。</p><p><b> 3.5安全性</b></p><p> C/S系統(tǒng)中的客戶機(jī)直接與服務(wù)器相連,非法用戶可以很容易地通過應(yīng)用程序侵入系統(tǒng),并對(duì)服務(wù)器數(shù)據(jù)庫(kù)進(jìn)行操作,這給系統(tǒng)的安全性帶來極大的隱患。B/S系統(tǒng)在客戶機(jī)和服務(wù)器之間增加了一層Web服務(wù)器,是兩者不在相連
39、,客戶機(jī)無法直接對(duì)數(shù)據(jù)庫(kù)操作,可有效地防止用戶的非法入侵。</p><p><b> 3.6移植性</b></p><p> C/S系統(tǒng)對(duì)不同工具開發(fā)的應(yīng)用程序,一般來說互不兼容,難以移植到其它平臺(tái)上運(yùn)行,移植性差。B/S系統(tǒng)在客戶端安裝的是通用瀏覽器,不存在移植性問題。</p><p><b> 4 系統(tǒng)框架</b>
40、;</p><p> 4.1網(wǎng)站設(shè)計(jì)技術(shù)選型</p><p> 由于WWW具有界面友好,操作便捷的特點(diǎn),因而已成為Internet上最流行的</p><p> 信息服務(wù),同時(shí)Web技術(shù)與數(shù)據(jù)庫(kù)技術(shù)相結(jié)合,實(shí)現(xiàn)Web數(shù)據(jù)庫(kù)交互式應(yīng)用已成</p><p> 為必然。當(dāng)今,人們對(duì)于Web的要求越來越高,不再只是滿足于HTML所提供的<
41、/p><p> 簡(jiǎn)單的靜態(tài)頁(yè)面,而是需要靈活的動(dòng)態(tài)頁(yè)面[5]。</p><p><b> 4.2總體框架</b></p><p> 該數(shù)據(jù)存儲(chǔ)與交換系統(tǒng)主要是為用戶提供一個(gè)網(wǎng)上存儲(chǔ)空間,方便用戶隨時(shí)隨地上網(wǎng)通過瀏覽器就可以進(jìn)行數(shù)據(jù)資料的存儲(chǔ)、下載與共享,主要有以下基本功能。</p><p><b> 圖4-
42、1網(wǎng)站結(jié)構(gòu)圖</b></p><p><b> 4.3后臺(tái)管理</b></p><p> 該系統(tǒng)采用用戶和管理員分開登錄模式,管理員所有操作界面模塊全包含在系統(tǒng)目錄的Admin文件夾下。</p><p><b> 4.3.1用戶管理</b></p><p> 管理員可以對(duì)用戶進(jìn)行
43、添加、刪除和修改操作,可以鎖定和解鎖定用戶,可以修改用戶等級(jí)。管理員可以添加、刪除用戶等級(jí)類型,設(shè)定各類等級(jí)所擁有的空間大小,根據(jù)用戶繳費(fèi)情況給予相應(yīng)等級(jí)權(quán)限,如普通用戶注冊(cè)后等級(jí)為普通用戶,空間大小為100MB,繳費(fèi)后可獲得更大的空間。</p><p><b> 4.3.2共享管理</b></p><p> 管理員可根據(jù)舉報(bào)查看文件內(nèi)容確認(rèn)后可將該文件鎖定,不允
44、許其在共享區(qū)域顯示。</p><p> 4.3.3管理員管理</p><p> 管理員可查詢、添加、刪除和修改管理員帳戶相關(guān)信息。</p><p><b> 4.3.4收費(fèi)管理</b></p><p> 管理員可以添加、刪除、修改用戶積分等級(jí),根據(jù)用戶的積分等級(jí)實(shí)施優(yōu)惠收費(fèi)。當(dāng)某用戶申請(qǐng)升級(jí)時(shí),可以查詢?cè)撚脩舻姆e
45、分,以及升級(jí)到相應(yīng)等級(jí)經(jīng)過積分等級(jí)優(yōu)惠折算后應(yīng)支付的實(shí)際費(fèi)用。</p><p><b> 4.4 用戶注冊(cè)</b></p><p> 用戶注冊(cè)必須指定用戶名、密碼、密碼保護(hù)資料、電子郵箱,注冊(cè)同時(shí)在服務(wù)器指定文件夾myfile內(nèi)新建一個(gè)用戶個(gè)人文件夾,作為用戶個(gè)人文件保存的空間,新用戶注冊(cè)默認(rèn)等級(jí)為普通用戶,空間大小為100MB。</p><p
46、><b> 4.5用戶空間管理</b></p><p><b> 4.5.1文件管理</b></p><p> 用戶登錄后可以上傳文件到自己個(gè)人的存儲(chǔ)空間文件夾,但空間大小將受用戶等級(jí)限制;可以在自己的文件查詢和共享文件查詢列表中下載任何一個(gè)文件,當(dāng)共享區(qū)域的文件被其他用戶下載后就會(huì)為提供此共享文件的用戶增加1點(diǎn)積分;可以設(shè)定某個(gè)私有
47、的文件共享與否,上傳時(shí)文件的共享類型默認(rèn)是不共享的,設(shè)定共享后,其他用戶才能從共享區(qū)域中下載你的文件;可以對(duì)自己空間私有的文件可以進(jìn)行文件刪除和文件名的修改。</p><p><b> 4.5.2共享查詢</b></p><p> 顯示所有用戶共享的而且未被管理員鎖定的文件,并可以下載共享文件,如發(fā)現(xiàn)共享內(nèi)容為不健康或帶反動(dòng)言語等不良共享文件可進(jìn)行舉報(bào)。</
48、p><p> 4.5.3空間升級(jí)和信息查詢</p><p> 用戶可以看到自己空間相關(guān)信息,可以查看不同用戶等級(jí)和積分等級(jí)的相關(guān)信息,以及升級(jí)到相關(guān)等級(jí)所需要支付的實(shí)際費(fèi)用。</p><p> 4.5.4修改個(gè)人資料</p><p> 用戶對(duì)自己注冊(cè)資料可進(jìn)行修改,包括密碼、密碼保護(hù)資料。</p><p><
49、b> 5 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 5.1系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)</p><p> 在SQL SERVER 2000中有兩種方式建立數(shù)據(jù)庫(kù),</p><p> ①、Transact-SQL方式,使用CREATE DATABASE database_name</p><p> ?、凇⑹褂闷髽I(yè)管理器,使用新建數(shù)據(jù)庫(kù)
50、建立新數(shù)據(jù)庫(kù)。</p><p> 本文采用的是使用企業(yè)管理器方式建立名為exam的數(shù)據(jù)庫(kù)[6]</p><p><b> 5.2系統(tǒng)數(shù)據(jù)庫(kù)</b></p><p> 通過分析網(wǎng)站管理功能的要求,在本系統(tǒng)中建立五張數(shù)據(jù)表來管理系統(tǒng)中的</p><p> 數(shù)據(jù),具體說明和結(jié)構(gòu)如下:</p><p&
51、gt; Admin,管理員表;</p><p> UsersRank,用戶空間等級(jí)信息;</p><p> Users,用戶信息表;</p><p> UserFiles,用戶上傳文件信息表;</p><p> IntegralRank,用戶積分等級(jí)信息表;</p><p> 表5-1 管理員表
52、 </p><p> 表5-2 用戶空間等級(jí)信息表</p><p><b> 表5-3用戶信息表</b></p><p> 表5-4用戶上傳文件信息表</p><p> 表5-5用戶積分等級(jí)信息表</p><p><b> 6 系統(tǒng)模塊介紹&
53、lt;/b></p><p><b> 6.1用戶登陸模塊</b></p><p> 用戶登錄界面(Default.aspx)是起始界面,必須登錄后才可以進(jìn)行其他的操作。首先通過輸入用戶名和密碼,然后在用戶信息表Users中查詢輸入的用戶名和密碼兩個(gè)字段是否有相匹配的數(shù)組,如果沒有則提示“用戶不存在或密碼錯(cuò)誤!”,返回登錄界面;如果登錄成功則將用戶名賦給Se
54、ssion,然后自動(dòng)跳轉(zhuǎn)到用戶主界面[7]。其中登錄Button的觸發(fā)主要代碼如下:</p><p> conn.ConnectionString = "Data Source=86BC14A814F7477;Initial Catalog=NWMS;User ID=sa;Password=123"</p><p> conn.Open()</p>&
55、lt;p> cmd.Connection = conn ‘連接數(shù)據(jù)庫(kù)</p><p> cmd.CommandText = "Select * From Users"</p><p> objReader = cmd.ExecuteReader()</p><p> Do While objReader.Read()</p&g
56、t;<p> If UserId.Text = objReader.Item("UserId") And UserPwd.Text = objReader.Item("UserPwd") Then</p><p> '在數(shù)據(jù)庫(kù)Users表中搜尋與輸入的用戶名和密碼相匹配的數(shù)組</p><p> Session("
57、UserId") = UserId.Text'將用戶名賦給Session</p><p> Response.Redirect("User0.aspx") '登錄成功跳轉(zhuǎn)頁(yè)面</p><p><b> Exit Do</b></p><p><b> End If</b>
58、</p><p><b> Loop</b></p><p> Response.Write("<script>alert('用戶不存在或密碼錯(cuò)誤!')</script>")</p><p> objReader.Close()</p><p> con
59、n.Close()'斷開數(shù)據(jù)庫(kù)連接</p><p><b> 圖6-1 登錄界面</b></p><p><b> 6.2用戶注冊(cè)模塊</b></p><p> 用戶注冊(cè)頁(yè)面(Reg.aspx),文本框后帶**的為必填,其他選填,用戶注冊(cè)時(shí)必須輸入用戶名、密碼、密碼確認(rèn)、密碼提示問題、密碼提示答案和電子郵箱,
60、否則不能注冊(cè)。當(dāng)這些都滿足后點(diǎn)擊注冊(cè),觸發(fā)事件代碼開始搜索用戶信息表(Users),檢驗(yàn)是否存在相同用戶名,如存在,那么提示“該用戶已經(jīng)注冊(cè)!”,退回注冊(cè)頁(yè)面[8],主要代碼如下:</p><p> cmd.CommandText = "Select UserId From Users"</p><p> objReader = cmd.ExecuteReader(
61、)</p><p> Do While objReader.Read()</p><p> If UserIdBox.Text = objReader.Item("UserId") Then</p><p> Response.Write("<script>alert('該用戶已經(jīng)注冊(cè)!')</s
62、cript>") '驗(yàn)證用戶名</p><p><b> i = 1</b></p><p><b> Exit Do</b></p><p><b> End If</b></p><p><b> Loop</b><
63、;/p><p> objReader.Close()</p><p> 如果未發(fā)現(xiàn)相同用戶名,則用SQL語句INSERT將新用戶信息寫入用戶信息表Users,同時(shí)運(yùn)用MkDir( )在服務(wù)器系統(tǒng)目錄的myfile文件夾內(nèi)新建一個(gè)文件夾,用戶名即為文件夾名。同時(shí)將用戶等級(jí)類型設(shè)定為“1”,即普通用戶,享有空間大小為50MB;將用戶鎖定類型設(shè)為空,即默認(rèn)未鎖;將用戶積分等級(jí)設(shè)為0,剛注冊(cè)用戶對(duì)
64、未共享過任何文件,未為資源共享做貢獻(xiàn),所以不具有收費(fèi)優(yōu)惠[9]。主要代碼如下:</p><p> cmd.CommandText = "INSERT INTO Users(UserId,UserPwd,PwdQuestion,PwdAnwser,Email,Ser,QQ,UserName,Telephone,vUserRank,vRegDate,vUserLock,vContrbRank,UserIn
65、,vUserSore) VALUES('" & UserIdBox.Text & "','" & UserPwdBox.Text & "','" & TextBox1.Text & "','" & TextBox2.Text & "'
66、;,'" & TextBox3.Text & "','" & ser & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.T
67、ext & "' ,'" & 1 & "','" & Today & "' ,'" & "" & "','" & "" & "','" &
68、"" & "','" & "" & "')"</p><p> If cmd.ExecuteNonQuery > 0 Then</p><p> Dim filepath As String = Path.Combine(Server.MapPath(&
69、quot;.") & "\myfile", UserIdBox.Text)</p><p> MkDir(filepath) '新建個(gè)人文件夾,文件名為用戶名</p><p> Response.Write("<script language=javascript>alert('注冊(cè)成功!');wind
70、ow.location='Default.aspx';</script>")</p><p><b> End If</b></p><p><b> 圖6-2 注冊(cè)界面</b></p><p> 6.3用戶主界面模塊</p><p> 用戶主界面采用分
71、頁(yè)技術(shù)顯示,主要有上和左、右3部分。左邊固定顯示LeftTree.aspx頁(yè)面,主要給用戶提供操作鏈接,通過點(diǎn)擊左邊的鏈接(包括有:文件管理、文件上傳、我的共享、公共共享、空間升級(jí)、空間信息、個(gè)人資料和退出系統(tǒng)),將相應(yīng)的操作頁(yè)面在右邊顯示出來,右邊的初始頁(yè)面為用戶個(gè)人空間信息頁(yè)面[9]。</p><p> 圖6-3 空間信息界面</p><p><b> 6.4文件存儲(chǔ)管理
72、</b></p><p> 在主截面左邊的鏈接中點(diǎn)擊“文件管理”連接到文件管理頁(yè)面(File_mgt.aspx),該頁(yè)面利用DataGrid的強(qiáng)大顯示功能為用戶顯示了當(dāng)前用戶所上傳的所有文件,并可以對(duì)任何一個(gè)文件通過“編輯”超鏈接到編輯頁(yè)面(File_mgt.aspx)進(jìn)行共享和文件命的修改;還可以通過點(diǎn)擊文件名下載當(dāng)前文件,還可以通過點(diǎn)擊刪除,刪除相應(yīng)行文件信息和文件(刪除文件運(yùn)用的是Kill()
73、)。主要代碼如下:</p><p> ?。?)初始化頁(yè)面和聲明綁定數(shù)據(jù)過程 Bind()主要代碼如下:</p><p> IfNot(Me.IsPostBack)Then</p><p><b> Me.Bind()</b></p><p><b> End If</b></p>
74、<p> Sub Bind()</p><p> Dim userid As String=Session(“UserId’)</p><p> Sql=”Select*From UserFiles Where UserId=””& userid&””</p><p> cnSqlServer=”DataSource=86BC14
75、A814F7477;InitialCatalog=NWMS;User</p><p> ID=sa;PASSword=123”</p><p> Dim objAdapater As New SqlDataAdapter(Sql,cnSqlServer)</p><p> objAdapter.Fill(ds,”UserFiles”)</p>&
76、lt;p> DataGrid.DataSource=ds</p><p> DataGridDataBind()</p><p> Conn.Closes()</p><p> Conn.Dispose()</p><p><b> End Sub</b></p><p> (2
77、) 點(diǎn)擊文件名出發(fā)下載文件事件的主要代碼如下:</p><p> Dim fileW AsString=e.Item.Cless(0).Text</p><p> Dim filepath As String=Server.MapPath(fileW)</p><p> Dim filename As String=System.IO.Path.GetFile
78、Name(filepath)</p><p> Response.Clear()</p><p> Response.ContentType=”application/octet-stream”</p><p> Response.AppendHeader(“Content-Disposition”,”attachment;filename=”+</p&
79、gt;<p><b> filename)</b></p><p> Response.Flush()</p><p> Response.WriteFile(filepath)</p><p> (3)點(diǎn)擊刪除時(shí),刪除當(dāng)前行文件和文件信息 ,主要代碼如下:</p><p> Dim Sql As
80、 String=”Delete UserFiles Where vWay=@vWay”</p><p> Dim cmd As New SqlCommand(Sql.conn)</p><p> Cmd.Parameters.Add(New SqlParanmeter(“@vWay,SqlDbType.VarChar,100))</p><p> Cmd.Pa
81、rameters(“@vWay”).Value=e.Item.Cells(0).Text</p><p> Conn.Open()</p><p> Cmd.ExecuteNonQuery()</p><p> Dim Pathname As String=Path.Combine(Server.MapPath(“.”),</p><p&g
82、t; e.Item.Cell(0).Text)</p><p> Kill(pathname)</p><p> conn.Close()</p><p> cmd.DisPose()</p><p> conn.Dispose()</p><p><b> Me.Bind()</b>
83、</p><p> (4) 點(diǎn)擊datagrid控件中的超鏈接列“編輯”,連接到相應(yīng)文件編輯頁(yè)面(File_edit.aspx=?file={0}),通過file將相應(yīng)行的文件路徑值傳給文件編輯頁(yè)面,文件編輯主要代碼如下:</p><p> ● 初始化頁(yè)面代碼如下:</p><p> Way=Request.QueryString(“file”)獲取傳值<
84、;/p><p> If Not(Me.IsPostBack)Then</p><p> FileName.Text=Path.GetFileNameWithoutExtenSion(Way)’從路徑中獲取不含擴(kuò)展名的用戶名</p><p><b> End If</b></p><p> ● 修改Button觸發(fā)的事
85、件主要代碼如下:</p><p> Dim FileNameW As String=FileName.Text’獲取TextBox的控件中的用戶名</p><p> Dim FileNameE As String=Path.GetExtension(Way)’從路徑中提取文件擴(kuò)展名</p><p> Dim FileNameA As String=FileNa
86、meW&FileNameE’合并兩字符串</p><p> Dim FilenewWay As String=Path.Combine(Path.GetDirectoryName(Way),</p><p> FileNameA)’合并兩路徑字符串,合并成新路徑</p><p> Dim pathnameO As String=Path.Combine
87、(Server.MapPath(“,”),Way)’</p><p> 更新數(shù)據(jù)庫(kù)數(shù)據(jù)表中的文件信息</p><p> Cmd.CommandText=”UPDATE UserFiles SETvWay=””&FilenewWay&””,</p><p> vUpDate=””&Now&””,vFileName=””&F
88、ileNamea&””,vSharType=””&type&””</p><p> WHEREvWay=””&Way&””</p><p> n=cmd.ExecuteNonQuery()</p><p> Rename(pathnameO,pathnameN)’修改想對(duì)應(yīng)的文件的文件名</p><p
89、> )00y,SqlDbType.VarCharlParanmeter("nn)h()=NWMS;User</p><p><b> 6.5文件上傳模塊</b></p><p> 在主截面左邊的鏈接中或文件管理頁(yè)面的右上角點(diǎn)擊“文件上傳”就鏈接到文件上傳頁(yè)面(upload.aspx),該頁(yè)面用File Field控件完成文件上傳,通過上傳代碼
90、“FileUpload.PostedFile.SaveAs()”將文件上傳保存到用戶個(gè)人文件夾下面 ,并將文件信息寫入數(shù)據(jù)庫(kù)UserFiles表。上傳之前banding控件內(nèi)是否存在上傳文件地址,如果沒有則提示“未發(fā)現(xiàn)文件”,如果有則繼續(xù)下步,搜索用戶已經(jīng)上傳文件的總大小,如果超過,則彈出對(duì)話框“您的空間不足”:如果未超過,表示還可以上傳,再檢測(cè)上傳空間內(nèi)是否存在相同文件名(包括擴(kuò)展名),如果有則將文件覆蓋,修改文件保存相關(guān)信息提示“X
91、X文件被覆蓋”,如果沒有則提示“XX文件成功上傳到服務(wù)器”,保存文件相關(guān)信息和文件[10]。主要代碼如下:</p><p> Dim userid As String=Session(“WserId”)</p><p> FileNname=path.GetFileName(FileUpload.Value)’提取控件路徑中的文件名</p><p> File
92、Unamel=Path.Combine(“myfile”,userid)</p><p> FileUname=Parh.Combine(Server.MapPath(“,”),FileUname1)’獲得了文件上傳目錄</p><p> FileNewW=Path.Combine(FileUname1,FileNname)</p><p> Filepath
93、=Path.Combine(FileUname,FileNname)</p><p> FileNewl=FileUpload.Posted.ContentLength</p><p> FileNewlB=ConcentBytes(FileNewl)</p><p> (1) 統(tǒng)計(jì)已用空間大小主要代碼如下:</p><p> cmd
94、.CommandText=”Select UserId From UserFiles”</p><p> objReader=cmd.ExecuteReader()</p><p> Do While objReader.Read()</p><p> Ifuserid= objReader.Item(“UserId”)Then</p><
95、p> objReader.Close()</p><p> cmd.CommandText=”Select SUM(vFileSb)From UserFiles</p><p> WHERE UserId=””& userid &””</p><p> objReader=cmd.ExecuteReader()</p>&
96、lt;p> objReader Read()</p><p> FileOIdl= objReader.Item(0)’統(tǒng)計(jì)用戶控件文件大小</p><p><b> Exit DO</b></p><p><b> End If</b></p><p><b> Loop
97、</b></p><p> (2)獲得用戶空間大小主要代碼如下:</p><p> cmd.CommandText=”SELECT vUseRank From Users WHERE UserId=’”& userid &’”’</p><p> objReader=cmd.ExecuteReader</p><
98、p> objReader.Read()</p><p> UserRank= objReader.Item(0)’獲得用戶等級(jí)</p><p> objReader.Close()</p><p> cmd.CommandText=SELECT vSpaceSb From UsersRand WHERE vIserRand=””& UserRa
99、nk &”’”</p><p> objReader=cmd.ExecuteReader</p><p> objReader.Read()</p><p> SpaceSb= objReader.Item(0)’獲得用戶相應(yīng)等級(jí)空間</p><p> objReader.Close()</p><p>
100、; If FileSuml<SpaceSb Then</p><p> cmd.CommandText=”SELECT vWay FROM Userfiles”</p><p> objReader=cmd.ExecuteReader()</p><p> Do While objReader.Read()</p><p>
101、If FileNewW=objReader.Item(“vWay”)Then</p><p> I=1’搜尋用戶空間中是否存在相同文件名</p><p><b> Exit Do</b></p><p><b> End If</b></p><p><b> Loop</b
102、></p><p> (3) 如果空間內(nèi)沒有相同文件,則主要代碼如下:</p><p> cmd.CommandText=”INSERT INTO</p><p> UserFiles(UserId,vFileSize,vFileSb,vFileName,vWay,vSharType,vUpData,vDownCount,vFileLock,vFileU
103、p)VALUES(‘”& userid &”’,’”& FileNeslB &”’, ’”& FileNesl &”’’”& FileNname& “’,’”& FileNewW &”’,’”& “不共享”&”’,’”& Now &”’,’”&”’&”’,’” ’”&”’&”’, ’”&
104、”’&”’)”</p><p> n=cmd.ExecuteNonQuery</p><p> FileUpload.PostedFile.SaveAs(Filepath)’上傳文件到指定目錄</p><p> lblMessage.InnerHtml=”文件 <b>”& FileNname &”</b>成功上傳
105、到服務(wù)器,大小為”& FileNew1B”</p><p> ?。?)如空間有相同文件,則主要代碼如下:</p><p> cmd.CommandText=”UPDATEUserFilesSETvFileSize=”’& FileNewlB&”’vFileSb=”’& FileNewl &’”,vUpDate=”’& Now &”’
106、,vDownCount=””</p><p> &””&”’,vFileLock=”’&””&””,vFileUp=”’&””&””WHERE vWay=””& FileNewW </p><p><b> &””</b></p><p> n=cmd.ExecuteNonQ
107、uery</p><p> FileUpload.PostedFile.SaveAs(Filepath)’上傳文件到指定目錄</p><p> lblMessage.InnerHtml=”文件 <b>”& FileNname &”</b>被覆蓋,大小為”& FileNewlb”</p><p> (5) 自定義一
108、個(gè)換算字符長(zhǎng)度的Function代碼如下:</p><p> Public Function ConvertBytes(ByVal Bytes As Long)As String</p><p> ‘將過大字符長(zhǎng)度由Byte轉(zhuǎn)化為GB、MB、KB表示</p><p> If Bytes>=1073741824Then</p><p&g
109、t; Return Format(Bytes/1024/1024/1024,”#0.00”)& “GB”</p><p> ElseIfBytes>=1048576Then</p><p> Return Format(Bytes/1024/1024,”#0.00”)& “MB”</p><p> ElseIfBytes>=102
110、4Then</p><p> Return Format(Bytes/1024,”#0.00”)& “KB”</p><p> ElseIfBytes>0 AndBytes<1024Then</p><p> Return Fix(Bytes)& ”Bytes”</p><p><b> Else
111、</b></p><p> Return”0 Bytes”</p><p><b> End If</b></p><p> End Function</p><p> 6.6我的共享查詢模塊</p><p> 在主界面左邊的鏈接中點(diǎn)擊“我的共享”就鏈接到我的共享查詢頁(yè)面(M
112、yshar,aspx),該模塊也采用DateGrid控件顯示個(gè)人已經(jīng)共享的文件的信息,你可以從中看到你所共享的文件被下載次數(shù),是否被管理員鎖定,還可以點(diǎn)擊相應(yīng)行后邊的取消直接取消共享。如果鎖定爛下有“√”符號(hào),那么證明你所共享的文件被別人舉報(bào),經(jīng)過管理員核查屬于不合適文件,它將不會(huì)再被顯示到共享區(qū)域[11]。主要代碼如下:</p><p> ?。?) 綁定數(shù)據(jù)庫(kù)主要代碼:</p><p>
113、 Sql=”Select*From UserFiles WHERE UserId=”’& userud &’”AND</p><p> vSharType=”’&”共享”&”’ORDER BY VdownCount DESC”</p><p> cnSqlServer=”Data Source=86BC14A814F7477;Initial Catal
114、og=NWMS:</p><p> User ID=sa:Password=123”</p><p> Dim objAdapter.Fill(ds,”UserFiles”)</p><p> DataGrid.DataSource= ds</p><p> DataGrid.DataBind()</p><p&g
115、t; (2) 取消Button觸發(fā)事件主要代碼:</p><p> Dim cmd As New SqlCommand(Sql,conn)</p><p> cmd.Parameters.Add(New SqlParameter(“@vWay”,SqlDbType.</p><p> VarChar,100))</p><p> c
116、md.Patameters(“@vWay”).Value=e.Item.Cells(0).Text</p><p> 6.7公共共享查詢模塊</p><p> 在主界面左邊的鏈接中點(diǎn)擊“公共共享”就鏈接到公共共享查詢頁(yè)面(Publicshar.aspx),該頁(yè)面也采用DateGrid控件顯示所有人共享的文件的信息 ,用戶可以從表中看到文件名、提供用戶、文件大小、更新時(shí)間、下載統(tǒng)計(jì),默認(rèn)
117、是按下載統(tǒng)計(jì)次數(shù)排列。用戶可以點(diǎn)擊文件名下載共享文件,如噶先共享文件內(nèi)同屬于違法、黃色、反動(dòng)等不合適信息時(shí)可以點(diǎn)擊舉報(bào)舉報(bào)該文件,一邊管理員好根據(jù)舉報(bào)來查看、鎖定不合理文件。當(dāng)用戶下載了公共區(qū)域的文件后,那么該文件的下載統(tǒng)計(jì)次數(shù)供該文件的用戶的積分將自動(dòng)加1[12]。主要代碼如下:</p><p> ?。?)下載事件的主要代碼</p><p> Response.Clear()</
118、p><p> Response.ContentType=”application/octet-stream”</p><p> Response.ContentAppendHeader(“Content-Disposition”,”attachment:</p><p> Filename=”+filename)</p><p> Res
119、ponse.Flush()</p><p> Response.WriteFile(filepath)</p><p> (2) 點(diǎn)擊文件下載后,文件下載統(tǒng)計(jì)和用戶積分自動(dòng)加1,主要代碼:</p><p> cmd.CommandText=”Select vDownCount,UserId From UserFiles</p><p>
120、 where vway=”’& fileW &”’”</p><p> objReader=cmd.ExecuteReader()</p><p> objReader.Read()</p><p> Dim downcount As Integer= objReader.Item(0)</p><p> Dim i
121、d As String= objReader.Item(1)</p><p> objReader.Close()</p><p> cmd.CommandText=”Select vUserSore From Users where UserId=”</p><p> ‘& id & ””</p><p> objR
122、eader=cmd.ExecuteReader</p><p> objReader()</p><p> Dim downcount As Integer = objReader.Item(0)</p><p> Dim id As String = objReader.Item(1)</p><p> objReader.Clos
123、e()</p><p> cmd.commandText = “Select cUserSore From Users where UserId=”’</p><p><b> & id & “”</b></p><p> objReader = cmd.ExecuteReader</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)備份與災(zāi)難恢復(fù)畢業(yè)論文
- 數(shù)據(jù)備份網(wǎng)站設(shè)計(jì)【開題報(bào)告】
- 數(shù)據(jù)備份網(wǎng)站設(shè)計(jì)【文獻(xiàn)綜述】
- 網(wǎng)站設(shè)計(jì)畢業(yè)論文-論文
- 數(shù)據(jù)庫(kù)原理課程網(wǎng)站設(shè)計(jì)[畢業(yè)論文]
- 數(shù)據(jù)備份網(wǎng)站設(shè)計(jì)【任務(wù)書】
- 個(gè)人網(wǎng)站設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文——綜合網(wǎng)站設(shè)計(jì)
- 課程網(wǎng)站設(shè)計(jì)畢業(yè)論文
- 數(shù)據(jù)庫(kù)備份和恢復(fù)方案(畢業(yè)論文)
- 課程網(wǎng)站設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文---個(gè)人網(wǎng)站設(shè)計(jì)
- 個(gè)人網(wǎng)站設(shè)計(jì) 畢業(yè)論文
- 畢業(yè)論文——中學(xué)網(wǎng)站設(shè)計(jì)
- 網(wǎng)站設(shè)計(jì)畢業(yè)論文3
- 共享網(wǎng)站設(shè)計(jì)畢業(yè)論文
- 電子商務(wù)網(wǎng)站建設(shè)畢業(yè)論文網(wǎng)站設(shè)計(jì)畢業(yè)論文
- 網(wǎng)站畢業(yè)論文
- 數(shù)據(jù)結(jié)構(gòu)精品課網(wǎng)站的設(shè)計(jì)畢業(yè)論文
- 網(wǎng)頁(yè)設(shè)計(jì)靜態(tài)網(wǎng)站畢業(yè)論文
評(píng)論
0/150
提交評(píng)論