版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)設(shè)計</b></p><p><b> (20 屆)</b></p><p><b> 數(shù)據(jù)備份網(wǎng)站設(shè)計</b></p><p> 所在學院 </p><p> 專業(yè)班級
2、 通信工程 </p><p> 學生姓名 學號 </p><p> 指導教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘
3、要</b></p><p> 當今,靠人工進行文本存儲、資料信息傳送和信息共享的方式已經(jīng)逐漸被淘汰,而依靠計算機進行網(wǎng)絡(luò)存儲、資料信息傳送和信息共享已經(jīng)越來越普遍,而且人們需要存儲的數(shù)據(jù)量越來越大,還要要求使用方便,能夠在網(wǎng)絡(luò)的任何地方訪問存儲的數(shù)據(jù)。在此形勢下,基于網(wǎng)絡(luò)的存儲與交換系統(tǒng)迅速發(fā)展起來,使得以上問題迎刃而解。</p><p> 本文采用ASP.net技術(shù)與We
4、b數(shù)據(jù)庫的結(jié)合,開發(fā)了一個B/S(Browser/Server)結(jié)構(gòu)研究的系統(tǒng)。利用Microsoft Visual Studio.NET工具結(jié)合使用SQL Server數(shù)據(jù)庫、ASP.NET、C群和ADO.NET等技術(shù)的實現(xiàn)原理及特點為理論依據(jù),實現(xiàn)用戶注冊管理、后臺管理和用戶空間管理功能;為每個用戶提供了個人的存儲空間;用戶可以通過瀏覽器實現(xiàn)文件的上傳、下載和資源的共享;根據(jù)用戶空間等級限制用戶存儲空間的大??;為用戶共享文件提供積分
5、制;通過積分制來對用戶空間升級實行優(yōu)惠。</p><p> 關(guān)鍵詞:網(wǎng)絡(luò)存儲;上傳下載;資源共享</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ò)存儲的特點1</p><p> 2 開發(fā)系統(tǒng)的介紹2</p><p> 2.1 Microsoft Visual Studio2</p&
12、gt;<p><b> 2.1.1簡介2</b></p><p> 2.1.2發(fā)展歷程2</p><p> 2.2 SQL Server 20003</p><p><b> 2.2.1簡介3</b></p><p><b> 2.2.2版本3</b
13、></p><p> 2.3軟硬件平臺3</p><p> 2.3.1硬件平臺3</p><p> 2.3.2軟件平臺3</p><p> 3 B/S結(jié)構(gòu)與C/S結(jié)構(gòu)的比較4</p><p> 3.1 開發(fā)和維護成本4</p><p> 3.2客戶端任務(wù)4<
14、/p><p> 3.3采用的標準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è)計技術(shù)選型6</p><p><b> 4.2總體框架6</b></p><p><b> 4.3后臺管理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收費管理7</p><p> 4.4 用戶注冊7</p><p> 4.5用戶空間管理8</p><p> 4.5.1文件管理8</p><p> 4.5.2共享查詢8</p><p>
17、 4.5.3空間升級和信息查詢8</p><p> 4.5.4修改個人資料8</p><p><b> 5 數(shù)據(jù)庫設(shè)計9</b></p><p> 5.1系統(tǒng)數(shù)據(jù)庫的設(shè)計9</p><p> 5.2系統(tǒng)數(shù)據(jù)庫9</p><p> 6 系統(tǒng)模塊介紹12</p>
18、<p> 6.1用戶登陸模塊12</p><p> 6.2用戶注冊模塊13</p><p> 6.3用戶主界面模塊15</p><p> 6.4文件存儲管理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空間升級查詢模塊25</p><p> 6.10后臺管理登錄模塊25</p><p> 6.11后臺管理主界面模塊26</p><p> 6.12用戶管理模塊26</p><
20、;p> 6.13管理員管理模塊26</p><p> 6.14共享管理模塊27</p><p> 6.15收費管理模塊28</p><p><b> 7 結(jié)論31</b></p><p> 致 謝錯誤!未定義書簽。</p><p><b> 參考文獻32&l
21、t;/b></p><p> 附件1 畢業(yè)設(shè)計作品說明書33</p><p> 附件2 代碼35</p><p><b> 1引 言</b></p><p><b> 1.1 課題背景 </b></p><p> 隨著現(xiàn)代網(wǎng)絡(luò)的發(fā)展,人們所需要存儲交
22、流的信息量越來越大,每天都在產(chǎn)生海量的信息。在這個信息化時代,過去依靠人工進行存儲,傳誦資料的手段已經(jīng)不能滿足人們的需求,而USB存儲也不能完全滿足?,F(xiàn)代人們對信息的需求要求快速,有效,隨時隨地。而網(wǎng)絡(luò)存儲技術(shù)的興起,使得人們可以在任何時候,任何有網(wǎng)絡(luò)的地方,進行信息的存儲已經(jīng)交流[2]。因此,很多人都希望有一個良好的網(wǎng)絡(luò)平臺,解決資料信息的存儲、攜帶和交流的煩惱。</p><p> 1.2 課題研究的意義&l
23、t;/p><p> 在這個信息化時代,對信息交流效率的要求越來越高。那么,本文主要研究建立一個數(shù)據(jù)存儲系統(tǒng),可以簡稱為網(wǎng)絡(luò)硬盤,它是服務(wù)器上的一塊硬盤空間,只要管理者有足夠的權(quán)限,就能對它隨意操作。在這塊空間了里注冊的用戶可以存儲,分享權(quán)限范圍內(nèi)的數(shù)據(jù),并且可以下載他人所共享的數(shù)據(jù),只要有網(wǎng)絡(luò),用戶可以隨時上傳、下載和分享數(shù)據(jù)。</p><p> 1.3 網(wǎng)絡(luò)存儲的特點</p>
24、<p> 保障網(wǎng)絡(luò)系統(tǒng)的順利運行,是每個用戶最為關(guān)心的問題。而網(wǎng)絡(luò)備份的最終目的,就是要解決這個問題。所以,一份優(yōu)秀的網(wǎng)絡(luò)備份方案就要能夠備份系統(tǒng)所有的數(shù)據(jù),在網(wǎng)絡(luò)出現(xiàn)故障甚至損壞時,能夠迅速地恢復網(wǎng)絡(luò)次同和數(shù)據(jù),從發(fā)現(xiàn)故障到完全恢復系統(tǒng),理想的備份妨礙耗時不應(yīng)超過半個工作日。這樣,如果系統(tǒng)出現(xiàn)災難性故障,我們就可以把損失降到最低。我們在選擇備份系統(tǒng)時,既要系統(tǒng)容量不斷增加的需求,又需要所用的備份軟件能夠支持多平臺系統(tǒng)。
25、要做到這些,就要充分使用網(wǎng)絡(luò)數(shù)據(jù)存儲管理系統(tǒng)。它是在分布式網(wǎng)絡(luò)環(huán)境下,通過專業(yè)的數(shù)據(jù)存儲管理軟件,結(jié)合相應(yīng)的硬件和存儲設(shè)備,對網(wǎng)絡(luò)的數(shù)據(jù)備份進行集中掛歷,從而實現(xiàn)自動化的備份,文件歸檔,數(shù)據(jù)分級存儲及災難恢復等[3]。</p><p> 2 開發(fā)系統(tǒng)的介紹</p><p> 2.1 Microsoft Visual Studio </p><p><b&
26、gt; 2.1.1簡介</b></p><p> Visual Studio是目前最流行的 Windows平臺應(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 口號的提出與 Windows XP / Office XP 的發(fā)布,微軟發(fā)布了 Visual Studio .NET(內(nèi)部版本號為 7.0) 2003 年,微軟對 Visual Studio 2002 進行了部分修訂,以 Visual Studio
28、2003 的名義發(fā)布(內(nèi)部版本號為 7.1)。 2005 年,微軟發(fā)布了 Visual Studio 2005。.NET 字眼從各種語言的名字中被抹去,但是這個版本的 Visual Studio 仍然還是面向 .NET 框架的(版本2.0)。 2007年11月,微軟發(fā)布了 Visual Studio 2008 英文版, 2008年2月14日發(fā)布了簡體中文專業(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簡介</b></p><p> SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng)的最新版本該版本繼承了SQL Serv
30、er 7.0 版本的優(yōu)點同時又比它增加了許多更先進的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點可跨越從運行Microsoft Windows 98 的膝上型電腦到運行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺使用</p><p><b> 2.2.2版本</b></p><p> SQL Server 2000有7個版
31、本,包括企業(yè)版(Enterprise Edition)、標準版(Standard Edition)、個人版(Personal Edition)、開發(fā)版(Developer Edition)、桌面版(Desktop Edition)、WindowsCE版(Windows CE Edition)和企業(yè)評估版(Evaluation Edition)。其中,最常用的是前3個版本。</p><p><b> 2
32、.3軟硬件平臺</b></p><p><b> 2.3.1硬件平臺</b></p><p> 為了正確安裝和正常運行SQL Server 2000,計算機必須達到所要求的最低硬件配置。</p><p> 主機:Intel及其兼容CPU,主頻Pentium166MHz以上。</p><p> 內(nèi)存:容
33、量至少達到64MB。</p><p> 硬盤:270MB安裝空間及其必要的為數(shù)據(jù)預留的空間。</p><p><b> 2.3.2軟件平臺</b></p><p> SQL Server 2000的軟件平臺是Windows操作系統(tǒng),不同的SQL Server 2000版本所要求的操作系統(tǒng)是不一樣的。因此,必須了解SQL Server 20
34、00對操作系統(tǒng)的基本要求。</p><p> 企業(yè)版:Windows NT Server /2000 Advanced Server, Internet Explorer5.0以上。</p><p> 標準版:Windows NT Server /2000 Server及更高版本,Internet Explorer5.0以上。</p><p> 個人版本: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ā)和維護成本</p><p> C/S開發(fā)和維護成本較高,對不同的客戶端要開發(fā)不同程序,編程工作量大,對于B/S,只需在客戶端安裝通用的瀏覽器,所有的維護和升級工
36、作都是在服務(wù)器上執(zhí)行的,不需對客戶端進行任何改變,故而大大降低了開發(fā)和維護成本。</p><p><b> 3.2客戶端任務(wù)</b></p><p> C/S的客戶端具有顯示和處理數(shù)據(jù)的功能,任務(wù)過重,B/S的客戶端把事務(wù)邏輯部分分給了服務(wù)器,不再負責處理復雜計算和數(shù)據(jù)訪問等關(guān)鍵事務(wù),只負責顯示部分,任務(wù)大大減輕[4]。</p><p>&
37、lt;b> 3.3采用的標準</b></p><p> C/S所采用的標準只在內(nèi)部統(tǒng)一,其應(yīng)用通常是專用的。B/S所采用的標準是開放的、非專用的,保證了其應(yīng)用的通用性和跨平臺性。</p><p><b> 3.4靈活性</b></p><p> C/S系統(tǒng)模塊中每一部分的變動均要影響到其它模塊的變動,系統(tǒng)升級困難,靈活
38、性差。B/S各層之間相互獨立,任何一層的改變不影響其它層的功能,系統(tǒng)改進非常容易,靈活性好。</p><p><b> 3.5安全性</b></p><p> C/S系統(tǒng)中的客戶機直接與服務(wù)器相連,非法用戶可以很容易地通過應(yīng)用程序侵入系統(tǒng),并對服務(wù)器數(shù)據(jù)庫進行操作,這給系統(tǒng)的安全性帶來極大的隱患。B/S系統(tǒng)在客戶機和服務(wù)器之間增加了一層Web服務(wù)器,是兩者不在相連
39、,客戶機無法直接對數(shù)據(jù)庫操作,可有效地防止用戶的非法入侵。</p><p><b> 3.6移植性</b></p><p> C/S系統(tǒng)對不同工具開發(fā)的應(yīng)用程序,一般來說互不兼容,難以移植到其它平臺上運行,移植性差。B/S系統(tǒng)在客戶端安裝的是通用瀏覽器,不存在移植性問題。</p><p><b> 4 系統(tǒng)框架</b>
40、;</p><p> 4.1網(wǎng)站設(shè)計技術(shù)選型</p><p> 由于WWW具有界面友好,操作便捷的特點,因而已成為Internet上最流行的</p><p> 信息服務(wù),同時Web技術(shù)與數(shù)據(jù)庫技術(shù)相結(jié)合,實現(xiàn)Web數(shù)據(jù)庫交互式應(yīng)用已成</p><p> 為必然。當今,人們對于Web的要求越來越高,不再只是滿足于HTML所提供的<
41、/p><p> 簡單的靜態(tài)頁面,而是需要靈活的動態(tài)頁面[5]。</p><p><b> 4.2總體框架</b></p><p> 該數(shù)據(jù)存儲與交換系統(tǒng)主要是為用戶提供一個網(wǎng)上存儲空間,方便用戶隨時隨地上網(wǎng)通過瀏覽器就可以進行數(shù)據(jù)資料的存儲、下載與共享,主要有以下基本功能。</p><p><b> 圖4-
42、1網(wǎng)站結(jié)構(gòu)圖</b></p><p><b> 4.3后臺管理</b></p><p> 該系統(tǒng)采用用戶和管理員分開登錄模式,管理員所有操作界面模塊全包含在系統(tǒng)目錄的Admin文件夾下。</p><p><b> 4.3.1用戶管理</b></p><p> 管理員可以對用戶進行
43、添加、刪除和修改操作,可以鎖定和解鎖定用戶,可以修改用戶等級。管理員可以添加、刪除用戶等級類型,設(shè)定各類等級所擁有的空間大小,根據(jù)用戶繳費情況給予相應(yīng)等級權(quán)限,如普通用戶注冊后等級為普通用戶,空間大小為100MB,繳費后可獲得更大的空間。</p><p><b> 4.3.2共享管理</b></p><p> 管理員可根據(jù)舉報查看文件內(nèi)容確認后可將該文件鎖定,不允
44、許其在共享區(qū)域顯示。</p><p> 4.3.3管理員管理</p><p> 管理員可查詢、添加、刪除和修改管理員帳戶相關(guān)信息。</p><p><b> 4.3.4收費管理</b></p><p> 管理員可以添加、刪除、修改用戶積分等級,根據(jù)用戶的積分等級實施優(yōu)惠收費。當某用戶申請升級時,可以查詢該用戶的積
45、分,以及升級到相應(yīng)等級經(jīng)過積分等級優(yōu)惠折算后應(yīng)支付的實際費用。</p><p><b> 4.4 用戶注冊</b></p><p> 用戶注冊必須指定用戶名、密碼、密碼保護資料、電子郵箱,注冊同時在服務(wù)器指定文件夾myfile內(nèi)新建一個用戶個人文件夾,作為用戶個人文件保存的空間,新用戶注冊默認等級為普通用戶,空間大小為100MB。</p><p
46、><b> 4.5用戶空間管理</b></p><p><b> 4.5.1文件管理</b></p><p> 用戶登錄后可以上傳文件到自己個人的存儲空間文件夾,但空間大小將受用戶等級限制;可以在自己的文件查詢和共享文件查詢列表中下載任何一個文件,當共享區(qū)域的文件被其他用戶下載后就會為提供此共享文件的用戶增加1點積分;可以設(shè)定某個私有
47、的文件共享與否,上傳時文件的共享類型默認是不共享的,設(shè)定共享后,其他用戶才能從共享區(qū)域中下載你的文件;可以對自己空間私有的文件可以進行文件刪除和文件名的修改。</p><p><b> 4.5.2共享查詢</b></p><p> 顯示所有用戶共享的而且未被管理員鎖定的文件,并可以下載共享文件,如發(fā)現(xiàn)共享內(nèi)容為不健康或帶反動言語等不良共享文件可進行舉報。</
48、p><p> 4.5.3空間升級和信息查詢</p><p> 用戶可以看到自己空間相關(guān)信息,可以查看不同用戶等級和積分等級的相關(guān)信息,以及升級到相關(guān)等級所需要支付的實際費用。</p><p> 4.5.4修改個人資料</p><p> 用戶對自己注冊資料可進行修改,包括密碼、密碼保護資料。</p><p><
49、b> 5 數(shù)據(jù)庫設(shè)計</b></p><p> 5.1系統(tǒng)數(shù)據(jù)庫的設(shè)計</p><p> 在SQL SERVER 2000中有兩種方式建立數(shù)據(jù)庫,</p><p> ①、Transact-SQL方式,使用CREATE DATABASE database_name</p><p> ?、凇⑹褂闷髽I(yè)管理器,使用新建數(shù)據(jù)庫
50、建立新數(shù)據(jù)庫。</p><p> 本文采用的是使用企業(yè)管理器方式建立名為exam的數(shù)據(jù)庫[6]</p><p><b> 5.2系統(tǒng)數(shù)據(jù)庫</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,用戶空間等級信息;</p><p> Users,用戶信息表;</p><p> UserFiles,用戶上傳文件信息表;</p><p> IntegralRank,用戶積分等級信息表;</p><p> 表5-1 管理員表
52、 </p><p> 表5-2 用戶空間等級信息表</p><p><b> 表5-3用戶信息表</b></p><p> 表5-4用戶上傳文件信息表</p><p> 表5-5用戶積分等級信息表</p><p><b> 6 系統(tǒng)模塊介紹&
53、lt;/b></p><p><b> 6.1用戶登陸模塊</b></p><p> 用戶登錄界面(Default.aspx)是起始界面,必須登錄后才可以進行其他的操作。首先通過輸入用戶名和密碼,然后在用戶信息表Users中查詢輸入的用戶名和密碼兩個字段是否有相匹配的數(shù)組,如果沒有則提示“用戶不存在或密碼錯誤!”,返回登錄界面;如果登錄成功則將用戶名賦給Se
54、ssion,然后自動跳轉(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ù)庫</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ù)庫Users表中搜尋與輸入的用戶名和密碼相匹配的數(shù)組</p><p> Session("
57、UserId") = UserId.Text'將用戶名賦給Session</p><p> Response.Redirect("User0.aspx") '登錄成功跳轉(zhuǎn)頁面</p><p><b> Exit Do</b></p><p><b> End If</b>
58、</p><p><b> Loop</b></p><p> Response.Write("<script>alert('用戶不存在或密碼錯誤!')</script>")</p><p> objReader.Close()</p><p> con
59、n.Close()'斷開數(shù)據(jù)庫連接</p><p><b> 圖6-1 登錄界面</b></p><p><b> 6.2用戶注冊模塊</b></p><p> 用戶注冊頁面(Reg.aspx),文本框后帶**的為必填,其他選填,用戶注冊時必須輸入用戶名、密碼、密碼確認、密碼提示問題、密碼提示答案和電子郵箱,
60、否則不能注冊。當這些都滿足后點擊注冊,觸發(fā)事件代碼開始搜索用戶信息表(Users),檢驗是否存在相同用戶名,如存在,那么提示“該用戶已經(jīng)注冊!”,退回注冊頁面[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)注冊!')</s
62、cript>") '驗證用戶名</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,同時運用MkDir( )在服務(wù)器系統(tǒng)目錄的myfile文件夾內(nèi)新建一個文件夾,用戶名即為文件夾名。同時將用戶等級類型設(shè)定為“1”,即普通用戶,享有空間大小為50MB;將用戶鎖定類型設(shè)為空,即默認未鎖;將用戶積分等級設(shè)為0,剛注冊用戶對
64、未共享過任何文件,未為資源共享做貢獻,所以不具有收費優(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) '新建個人文件夾,文件名為用戶名</p><p> Response.Write("<script language=javascript>alert('注冊成功!');wind
70、ow.location='Default.aspx';</script>")</p><p><b> End If</b></p><p><b> 圖6-2 注冊界面</b></p><p> 6.3用戶主界面模塊</p><p> 用戶主界面采用分
71、頁技術(shù)顯示,主要有上和左、右3部分。左邊固定顯示LeftTree.aspx頁面,主要給用戶提供操作鏈接,通過點擊左邊的鏈接(包括有:文件管理、文件上傳、我的共享、公共共享、空間升級、空間信息、個人資料和退出系統(tǒng)),將相應(yīng)的操作頁面在右邊顯示出來,右邊的初始頁面為用戶個人空間信息頁面[9]。</p><p> 圖6-3 空間信息界面</p><p><b> 6.4文件存儲管理
72、</b></p><p> 在主截面左邊的鏈接中點擊“文件管理”連接到文件管理頁面(File_mgt.aspx),該頁面利用DataGrid的強大顯示功能為用戶顯示了當前用戶所上傳的所有文件,并可以對任何一個文件通過“編輯”超鏈接到編輯頁面(File_mgt.aspx)進行共享和文件命的修改;還可以通過點擊文件名下載當前文件,還可以通過點擊刪除,刪除相應(yīng)行文件信息和文件(刪除文件運用的是Kill()
73、)。主要代碼如下:</p><p> (1)初始化頁面和聲明綁定數(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、) 點擊文件名出發(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)點擊刪除時,刪除當前行文件和文件信息 ,主要代碼如下:</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) 點擊datagrid控件中的超鏈接列“編輯”,連接到相應(yīng)文件編輯頁面(File_edit.aspx=?file={0}),通過file將相應(yīng)行的文件路徑值傳給文件編輯頁面,文件編輯主要代碼如下:</p><p> ● 初始化頁面代碼如下:</p><p> Way=Request.QueryString(“file”)獲取傳值<
84、;/p><p> If Not(Me.IsPostBack)Then</p><p> FileName.Text=Path.GetFileNameWithoutExtenSion(Way)’從路徑中獲取不含擴展名的用戶名</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)’從路徑中提取文件擴展名</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ù)庫數(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)’修改想對應(yīng)的文件的文件名</p><p
89、> )00y,SqlDbType.VarCharlParanmeter("nn)h()=NWMS;User</p><p><b> 6.5文件上傳模塊</b></p><p> 在主截面左邊的鏈接中或文件管理頁面的右上角點擊“文件上傳”就鏈接到文件上傳頁面(upload.aspx),該頁面用File Field控件完成文件上傳,通過上傳代碼
90、“FileUpload.PostedFile.SaveAs()”將文件上傳保存到用戶個人文件夾下面 ,并將文件信息寫入數(shù)據(jù)庫UserFiles表。上傳之前banding控件內(nèi)是否存在上傳文件地址,如果沒有則提示“未發(fā)現(xiàn)文件”,如果有則繼續(xù)下步,搜索用戶已經(jīng)上傳文件的總大小,如果超過,則彈出對話框“您的空間不足”:如果未超過,表示還可以上傳,再檢測上傳空間內(nèi)是否存在相同文件名(包括擴展名),如果有則將文件覆蓋,修改文件保存相關(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)計已用空間大小主要代碼如下:</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)計用戶控件文件大小</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)’獲得用戶等級</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)等級空間</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、個換算字符長度的Function代碼如下:</p><p> Public Function ConvertBytes(ByVal Bytes As Long)As String</p><p> ‘將過大字符長度由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> 在主界面左邊的鏈接中點擊“我的共享”就鏈接到我的共享查詢頁面(M
112、yshar,aspx),該模塊也采用DateGrid控件顯示個人已經(jīng)共享的文件的信息,你可以從中看到你所共享的文件被下載次數(shù),是否被管理員鎖定,還可以點擊相應(yīng)行后邊的取消直接取消共享。如果鎖定爛下有“√”符號,那么證明你所共享的文件被別人舉報,經(jīng)過管理員核查屬于不合適文件,它將不會再被顯示到共享區(qū)域[11]。主要代碼如下:</p><p> ?。?) 綁定數(shù)據(jù)庫主要代碼:</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> 在主界面左邊的鏈接中點擊“公共共享”就鏈接到公共共享查詢頁面(Publicshar.aspx),該頁面也采用DateGrid控件顯示所有人共享的文件的信息 ,用戶可以從表中看到文件名、提供用戶、文件大小、更新時間、下載統(tǒng)計,默認
117、是按下載統(tǒng)計次數(shù)排列。用戶可以點擊文件名下載共享文件,如噶先共享文件內(nèi)同屬于違法、黃色、反動等不合適信息時可以點擊舉報舉報該文件,一邊管理員好根據(jù)舉報來查看、鎖定不合理文件。當用戶下載了公共區(qū)域的文件后,那么該文件的下載統(tǒng)計次數(shù)供該文件的用戶的積分將自動加1[12]。主要代碼如下:</p><p> (1)下載事件的主要代碼</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) 點擊文件下載后,文件下載統(tǒ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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)備份與災難恢復畢業(yè)論文
- 數(shù)據(jù)備份網(wǎng)站設(shè)計【開題報告】
- 數(shù)據(jù)備份網(wǎng)站設(shè)計【文獻綜述】
- 網(wǎng)站設(shè)計畢業(yè)論文-論文
- 數(shù)據(jù)庫原理課程網(wǎng)站設(shè)計[畢業(yè)論文]
- 數(shù)據(jù)備份網(wǎng)站設(shè)計【任務(wù)書】
- 個人網(wǎng)站設(shè)計畢業(yè)論文
- 畢業(yè)論文——綜合網(wǎng)站設(shè)計
- 課程網(wǎng)站設(shè)計畢業(yè)論文
- 數(shù)據(jù)庫備份和恢復方案(畢業(yè)論文)
- 課程網(wǎng)站設(shè)計畢業(yè)論文
- 畢業(yè)論文---個人網(wǎng)站設(shè)計
- 個人網(wǎng)站設(shè)計 畢業(yè)論文
- 畢業(yè)論文——中學網(wǎng)站設(shè)計
- 網(wǎng)站設(shè)計畢業(yè)論文3
- 共享網(wǎng)站設(shè)計畢業(yè)論文
- 電子商務(wù)網(wǎng)站建設(shè)畢業(yè)論文網(wǎng)站設(shè)計畢業(yè)論文
- 網(wǎng)站畢業(yè)論文
- 數(shù)據(jù)結(jié)構(gòu)精品課網(wǎng)站的設(shè)計畢業(yè)論文
- 網(wǎng)頁設(shè)計靜態(tài)網(wǎng)站畢業(yè)論文
評論
0/150
提交評論