如何在BLOB中存储图像?

时间:2009-12-15 04:33:27

标签: sql mysql image blob

我找不到有关如何将图像存储到BLOB中的有用代码,请帮我一些代码,还可以在GUI中将这些图像从MySQL显示到我的桌面窗格中吗?

2 个答案:

答案 0 :(得分:6)

如果图像位于MySQL主机上,则可以使用LOAD_FILE()命令将图像存储在BLOB中:

-- Using the following table as an example:
CREATE TABLE MyTable (
   image  BLOB
);

-- This will insert a file in a BLOB column.
INSERT INTO MyTable (image) VALUES(LOAD_FILE('/tmp/image.png'));

确保MySQL可以读取图像文件,并确保您的MySQL用户具有FILE权限。

要授予FILE权限,请以root用户身份登录并执行:

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

答案 1 :(得分:1)

最简单的方法是将一些二进制图像文件的内容存储在blob中,提取它们,将它们写入文件并使用某种图像文件解析器打开该文件。或者,如果你真的很棘手,那么在将blob从数据库中拉出后,使用相同的图像解析器直接从内存中读取数据。

我假设你有一些ImagePane小部件可以处理GUI显示,如果你可以提供图像文件。