【发布时间】:2010-12-26 16:27:36
【问题描述】:
我找不到关于如何将图像存储到 BLOB 中的有用代码,请帮我编写一些代码,我可以在 GUI 中将这些图像从 MySQL 显示到我的桌面窗格吗?
【问题讨论】:
-
是否有特定的语言或者您正在使用 MySQL 浏览器?
-
你还没有接受昨天和前天和前天的答案......为什么要继续帮助那些不欣赏我们花费的时间和精力的人?
我找不到关于如何将图像存储到 BLOB 中的有用代码,请帮我编写一些代码,我可以在 GUI 中将这些图像从 MySQL 显示到我的桌面窗格吗?
【问题讨论】:
最简单的方法是将一些二进制图像文件的内容存储在 blob 中,提取它们,将它们写入文件并使用某种图像文件解析器打开该文件。或者,如果你真的很棘手,在将 blob 从数据库中拉出后,使用相同的图像解析器直接从内存中读取数据。
我假设您有某种 ImagePane 小部件,如果您可以向它提供图像文件,它可以处理 GUI 显示。
【讨论】:
如果图像位于您的 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';
【讨论】: