2012-03-21 69 views
0

如果我的MySQL數據庫中不存儲圖像,我在哪裏可以將圖像存儲在網絡服務器上?我被告知將圖像作爲BLOB存儲在數據庫中是不好的做法。將圖像存儲在網絡服務器上的文件系統上的位置

另外,如何將這些圖像的引用存儲在數據庫中?如果我有一個food_items表,桌子可以看起來像這樣嗎?

食品

Id |名稱|說明|價格| ImageURL

1 |雞|好吃| 100 | www.myurl.com/folderwithimages/image.jpg?

感謝

+2

您應該保存完整的URL包括http://或絕對來自文檔根目錄(/folderwithimage/image.jpg)的路徑。但是,它是一個數據庫,你可以把它想要的任何東西放進去。 – Cfreak 2012-03-21 16:19:39

+0

在CDN上如何?他們提供各種緩存和地理位置優化的東西,而且不會讓處理靜態文件的Web服務器停滯不前。 – 2012-03-21 16:23:28

回答

1

如果這是一個Web服務器,我會強烈建議你把圖像分爲S3。這裏有一些關於Amazon S3的文檔。

0

我會建議在數據庫中存儲唯一的映像名稱,並保持所有的圖像/ yoursiteroot/folderwithimages。

該表看起來不錯,但我不建議存儲完整的URL以防萬一您想要在將來更改圖像的路徑或URL。

+0

好吧,所以你們都說使用相對URL,那麼我該如何完成連接URL呢?如添加myurl.com/mysiteroot/folderwithimages。 myurl.com部分在哪裏進來?謝謝 – Apollo 2012-03-21 17:16:45

0

在/圖像存儲圖像文件系統中的文件夾在Web服務器上

在你的數據庫不完整的URL存儲圖像。將相對URL存儲到映像中,如果您的域發生更改,則不必再次更新數據庫。

/images/image.jpg

0

避免使用數據庫來存儲圖像是一種很好的做法,將圖像保存在數據庫中不僅會降低數據庫性能,還會增加數據庫的大小和備份,如果您使用的是雲服務,那麼也存在成本問題。

爲此目的使用S3或雅虎。剩下要做的唯一事情就是讓你的站點應用程序連接這兩個服務(db和圖像服務),我用this tool

商店只有當每個圖像駐留在不同勢位置的完整路徑,它是沒有意義的存儲每個數據輸入相同的數據,

+0

使用數據庫視圖連接基本URL「myurl.com/mysiteroot/」和存儲在數據庫中的文件名,或者您可以使用我建議的工具,您只需要一些配置。 – eelis 2013-11-07 10:11:41

相關問題