關於在網站中圖片入庫和管理!

來源:互聯網
上載者:User
本人有多年開發網站的經驗,對圖片的上傳及管理一直感到十分頭痛。最早以前是用FTP上傳圖片,但每次上傳時,用戶端都要下載外掛程式。到後來的無組件上傳,雖然解決了無用戶端,但圖片在網站上的管理顯得有點零亂:
  1、放圖片目錄要有可寫,可刪除的許可權。
  2、不能重名,所以要解決圖片命名的方法。
  3、比如圖片是為發部新聞時上傳的,當要刪除該條新聞時,要另寫代碼對圖片進行刪除。因為許可權的關係有可能,刪除不了或者刪除時頁面啟動並執行速度受影響。
  4、還會圖片很容易被別的網站,盜鏈。

所以,我認為將各模組中所上傳的圖片入庫,集中管理是有好處的!
具體操作:建立一張表,用於專門存放圖片的二進資料,一個自動加一的ID號。上傳圖片時,將圖片的位元據入庫後,然後得到該圖片的ID號,在引用圖片的記錄只要記錄下該ID號即可!

入庫程式(以ASP為例):
demo1.asp
<%
'picBriny 為圖片位元據。至於如何從表單中得到圖片位元據,可以到網上尋找無組件上傳原理
'表名pic
'列名image 用於存放圖片的位元據 
'列名ID 自動加一
rs.Open "pic",conn,1,3
rs.AddNew()
rs.Fields("image").AppendChunk picBriny
rs.Update
'在這裡就可以得到圖片的ID號:rs.Fields("ID")
rs.Close
%>
圖片顯示的頁面:
demo2.html
<html>
<head></head>
<body>
顯示庫中ID為1的圖片
<img src='demo3.asp?id=1'>
</body>
</html>
     
圖片出庫程式(以ASP為例):
demo3.asp
<%
id=Request("id")
rs.Open "select image from pic where id="&id,conn,1,1
Response.BinaryWrite rs("image").getChunk(7500000)
rec.close
%>

綜上所述可以解決上面的問題!
1、圖片放庫後就脫離了目錄,就不用理會許可權問題!
2、圖片在表中都有自己的ID號,不會有重名問題!
3、當引用圖片的記錄要被刪除時,只需在庫中多刪除一條記錄!
4、如要防止盜鏈只需在出庫程式:demo3.asp 裡加上驗證即可!
5、方便了其它各種對圖片的管理!

目前想到這麼多,當然也帶來一些問題:

對系統資料庫的要求提高了,上傳幾M的圖片時可能速度會受影響,當然系統效能好的話,強烈推薦使用這種方案。
代碼比以前直接把圖片放在目錄下,複雜了!所以如果網站內圖片用的地方不是很多的話,還是不要用這個方案!





相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。