2010-06-10 78 views

回答

4

爲什麼不能存儲對圖像的引用,而不是實際的圖像,是否有特殊原因?

圖像很大 - 它們使數據庫變大。 SQL可能很痛苦(因爲它不是面向對象的)並且沒有圖像類型。

你可以將它們存儲爲BLOB ...如果你想要寫所有的編碼,編碼,檢查等

+1

特別的原因,一些詳細信息的鏈接,一步?呃,讓我們想一想。 1-這不是一個Web應用程序,機器上沒有安裝Web服務器(將圖像提供給客戶端)? 2- Plus沒有文件共享首選? 3-具有連接遠程數據庫和配置功能的應用程序?我可以數更多... – 2016-03-16 14:56:44

2

您可以使用BLOB場要做到這一點,但我一般不建議。簡單地將圖像存儲在文件系統中並將路徑存儲到數據庫中幾乎總是更好。

ETA:

更多的討論

13

如果圖像位於你的MySQL主機上見this question,您可以使用LOAD_FILE()功能將圖像存儲在BLOB領域:

CREATE TABLE MyTable (id INT, image BLOB); 

INSERT INTO MyTable (id, image) VALUES(1, LOAD_FILE('/tmp/your_image.png')); 

您必須確保圖像文件可被MySQL讀取,並且MySQL用戶具有FILE權限。要授予FILE特權,登錄爲根,執行:

GRANT FILE ON *.* TO 'mysql_user'@'localhost'; 
+0

它不工作。你能幫我我 – 2010-06-10 13:32:14

+0

@gautam:它不工作?你收到什麼錯誤? – 2010-06-10 13:49:36

+1

我已經在load_file中給出了路徑(c:\ dir \ a.jpg),但是執行'select'操作後,我看到存儲了NULL(不是我的img),爲什麼? – 2010-06-10 13:55:18

0

它始終是一個更好的主意來存儲在外部文件夾中的圖像並存儲在數據庫中的refrence。

以下是在數據庫中上載圖像的分步指南。 http://www.phpriot.com/articles/images-in-mysql/7

http://forum.codecall.net/topic/40286-tutorial-storing-images-in-mysql-with-php/

這裏是一步引導的圖像retreival從數據庫 http://forum.codecall.net/topic/40849-tutorial-storing-images-in-mysql-with-php-part-ii-display-your-images/

上BLOB http://forums.mysql.com/read.php?20,17671,27914