馮小東 蘭州資源環(huán)境職業(yè)技術(shù)學(xué)院 730021
基于Web的動態(tài)圖片管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
馮小東 蘭州資源環(huán)境職業(yè)技術(shù)學(xué)院 730021
本文基于校園網(wǎng)構(gòu)建動態(tài)圖片管理網(wǎng)站,同時分析介紹了利用ASP和ACCESS構(gòu)建圖片顯示動態(tài)網(wǎng)頁的幾種方法,以及分析了這幾種思路在實(shí)現(xiàn)過程中所運(yùn)用到的處理方法。
ASP;ACCESS;圖片管理
校園信息化已成為校園建設(shè)及發(fā)展的主要手段,高校校園網(wǎng)的信息化建設(shè)更是與新時代的網(wǎng)絡(luò)信息化密不可分。由于學(xué)校網(wǎng)站建設(shè)需要,在學(xué)校現(xiàn)有的基礎(chǔ)上增設(shè)圖片管理系統(tǒng)??梢钥吹?,校園圖片管理系統(tǒng)需求相對簡單,功能也相對單一,其核心主要是顯示圖片和分類管理,及相應(yīng)預(yù)覽圖片的動態(tài)網(wǎng)頁,并且通過點(diǎn)擊預(yù)覽圖片和圖片相關(guān)鏈接夠查看該圖信息,因此,決定用ASP和ACCESS來構(gòu)建網(wǎng)站。本文結(jié)合動態(tài)網(wǎng)站制作實(shí)例來對圖片上傳技術(shù)進(jìn)行介紹,并且介紹了在實(shí)際應(yīng)用中所遇到問題的解決方案,開發(fā)的實(shí)例是“校園網(wǎng)圖片管理系統(tǒng)”。
經(jīng)過分析,該系統(tǒng)需要設(shè)計(jì)的功能包括有:圖片上傳、限制上傳圖片大小、限制上傳圖片格式、圖片命名、管理瀏覽以及刪除圖片等??梢钥吹剑W(wǎng)站功能的實(shí)現(xiàn)直接關(guān)系到數(shù)據(jù)庫的設(shè)計(jì);因此,數(shù)據(jù)類型可以有兩種不同的選擇:OLE對象型或文本型。這也是本文下面要討論的核心問題,不同的數(shù)據(jù)類型將直接決定構(gòu)建圖片顯示動態(tài)網(wǎng)頁的不同思路,這里把數(shù)據(jù)庫命名為Photo,表命名Imgbook。
OLE對象類型字段是鏈接和嵌入其它應(yīng)用程序所創(chuàng)建對象的字段類型。在設(shè)計(jì)中采用OLE數(shù)據(jù)類型,photo字段就要鏈或嵌入圖片,通過OLE數(shù)據(jù)類型將圖片直接存入數(shù)據(jù)庫。文本型字段存放由漢字、字母和ASCII字符集中可打印字符組成的數(shù)據(jù)。如果要采用這種數(shù)據(jù)類型,photo字段將要存放的是圖片的存儲路徑。
圖片上傳文件到服務(wù)器文件夾下,一個圖片就是一個文件,然后與數(shù)據(jù)庫中的記錄對應(yīng)起來。這種方法的缺點(diǎn)是保密性不好,如果服務(wù)器被登錄,就可以直接觀看圖片資料。將圖片存儲路徑存入數(shù)據(jù)庫,實(shí)質(zhì)上就是圖片上傳到服務(wù)器指定目錄后,通過SQL語句向數(shù)據(jù)庫中添加記錄。而如果將圖片直接存入數(shù)據(jù)庫,一般是采用二進(jìn)制數(shù)據(jù)方式存儲在OLE字段中。這樣就使數(shù)據(jù)庫變得臃腫,影響存儲速度。
第一,把圖片的存儲路徑存入數(shù)據(jù)庫。表中僅列出了需要說明的Imgbook表的記錄,其余省略??梢钥吹?,因?yàn)镻hoto字段用了文本數(shù)據(jù)類型,所以表中存入的是圖片用文本表示的存儲路徑。如圖1。
第二,調(diào)用圖片,實(shí)現(xiàn)圖片顯示動態(tài)網(wǎng)頁功能,主要程序代碼如下:
經(jīng)過上述方式處理后,除圖片的存儲路徑作為動態(tài)頁圖顯示路徑的方式進(jìn)行處理外,在實(shí)際應(yīng)用中還涉及到分頁顯示的問題,主要代碼如下:
Rs.PageSize=20 ’設(shè)定PageSize屬性的值
Total=INT(RS.recordcount/20*-1) *-1 ‘計(jì)算可顯示頁面的總數(shù)
PageNo=Request(”pageno”)‘獲得當(dāng)前的頁碼
圖1 數(shù)據(jù)庫Imgbook表格
RS.AbsolutePage=PageNo ‘設(shè)置數(shù)據(jù)集當(dāng)前的頁碼
采用文本數(shù)據(jù)類型方法的缺點(diǎn)是保密性不好,如果破解網(wǎng)站密碼,就可以直接獲取服務(wù)器內(nèi)部資料或?qū)Ψ?wù)器進(jìn)行攻擊。為了解決這個問題,可以在服務(wù)器上的IIS作如下設(shè)置:
(1)檢查WEB目錄是否有IUSR_*** (你機(jī)器名)這個用戶權(quán)限,或者檢查是否有GUESTS組權(quán)限(至少有讀取權(quán)限)。
(2)策略里禁用GUESTS組,默認(rèn)IIS匿用戶均屬于該組。
(3)在2003IIS中需要手工同步密,如果修改了IUSR_***用戶密碼很可能引起ASP網(wǎng)頁無法運(yùn)行,同時IIS-0UT組件無法啟動等原因,所以需要新建一個用戶為GUESTS組然后同步。
下面我們先討論通過這種思路實(shí)現(xiàn)動態(tài)網(wǎng)頁的方式與上一種的區(qū)別。
在ACCESS中使用了兩個關(guān)鍵的技術(shù)來保存圖形,一是b m p格式,二是OLE對象有78個字節(jié)的文件頭格式,如果要在ASP頁面中調(diào)用圖片就需要做一些特殊處理,需要調(diào)用如下代碼:
在實(shí)際應(yīng)用的過程中,用OLE對象來存儲圖像會遇到一個問題,就是ACCESS數(shù)據(jù)膨脹的速度急劇加快,系統(tǒng)運(yùn)行速度會越來越慢。因?yàn)镺LE會為每一個圖像文件另外創(chuàng)建一個包含顯示信息的位圖文件;也就是說,如果添加一個1MB的圖像文件,那么實(shí)際占用的數(shù)據(jù)庫空間遠(yuǎn)比lMB大。這些附加文件比原始文件的容量更大,數(shù)據(jù)庫會因此變得非常龐大,影響存儲和讀取速度。
本文就學(xué)校圖片管理系統(tǒng)實(shí)現(xiàn)上傳圖片功能做了比較分析,最后對這兩種方案進(jìn)行總結(jié):
使用文本數(shù)據(jù)類型的思路來建設(shè)圖片管理系統(tǒng),圖片是上傳到服務(wù)器指定文件夾,所以日后的數(shù)據(jù)維護(hù)上非常方便,可以直接在服務(wù)器上指定文件夾上對相應(yīng)的圖片文件進(jìn)行刪改,減輕了維護(hù)人員的工作負(fù)擔(dān)。即使不懂得后臺數(shù)據(jù)庫的人員也可以輕松實(shí)現(xiàn)。
在安全性上OLE對象數(shù)據(jù)類型方案較優(yōu)。即使他人知道服務(wù)器和數(shù)據(jù)庫服務(wù)器的密碼,仍無法直接觀看圖片。但其缺點(diǎn)也是明顯的,那就是圖片存取需要一個轉(zhuǎn)換的過程,技術(shù)實(shí)現(xiàn)較復(fù)雜。既影響瀏覽速度也對校園網(wǎng)維護(hù)人員要求較高。通過分析和討論可以看到,Photo字段采用文本型數(shù)據(jù)類型的方法要比采用OLE對象型數(shù)據(jù)類型的方法對于系統(tǒng)運(yùn)行更優(yōu)。因此,在實(shí)際應(yīng)用沒有把圖片直接存入ACCESS數(shù)據(jù)庫,而是采取一種記錄鏈接的方式來讓系統(tǒng)長期運(yùn)行而仍然能夠保持快速響應(yīng)。
[l] 李深,楊萬成.用ASP和ACCESS構(gòu)片顯示動態(tài)網(wǎng)頁.科技資訊.2007.
[2] 湯代祿,韓建俊.AsP案例開發(fā)集錦.電子工業(yè)出版社.2006.4.
10.3969/j.issn.1001-8972.2010.11.043
馮小東(1974—),男,漢族,甘肅成縣人,講師,主要研究方向?yàn)閃eb開發(fā)、軟件工程、計(jì)算機(jī)教育研究。