【发布时间】:2018-12-28 07:31:31
【问题描述】:
我需要在 MYSQL 数据库表中插入图像。图像存储在本地磁盘中。我正在使用 LOAD_FILE() 插入图像,但它只存储路径而不是图像。
如果无法从本地磁盘插入,我可以从哪里获取图像?请给我一个解决方案,说明我需要哪些资源来将图像存储到数据库中。
【问题讨论】:
标签: mysql database web blob mysql-loadfile
我需要在 MYSQL 数据库表中插入图像。图像存储在本地磁盘中。我正在使用 LOAD_FILE() 插入图像,但它只存储路径而不是图像。
如果无法从本地磁盘插入,我可以从哪里获取图像?请给我一个解决方案,说明我需要哪些资源来将图像存储到数据库中。
【问题讨论】:
标签: mysql database web blob mysql-loadfile
我不确定你的应用是做什么的,但我强烈建议不要将图像直接存储到 MYSQL 数据库中,从长远来看,你的数据库会滞后。
要回答您的问题,您需要执行以下操作:-
第 1 步:创建 MySQL 表
请创建一个包含 blob 类型字段的 mysql 表,以保存您的图像。
在我们的表格中,我们只有两个字段:
1) int 类型的 image_id
2) blob 类型的图像
这是创建表的查询:
创建表格图片(
image_id int(10) NOT NULL auto_increment,
图像块,
主键 (image_id)
);
第 2 步:将图片插入表格中
现在我们可以使用 insert into sql 将图像插入到表中。下面是sql的例子:
插入图片 VALUES(1, LOAD_FILE('d:\flower.gif'));
我们使用 MySQL 的 LOAD_FILE() 函数将图像数据插入数据库。
插入数据后,您可以使用 MySQL 工具查看。
希望能解决你的问题:)。
【讨论】:
而不是将图像放入数据库。 只需将数据库中的相对路径和系统上的实际文件放入即可。
获取 1 个基本目录:/root/child/images
需要存储的图片有image1.jpg、image2.jpg等
只需将“image1.jpg”存储在数据库中即可。
所以在获取数据的同时,获取文件名,将其与基本目录路径结合起来即可。
【讨论】:
我能够通过首先将图像(fileName.jpg)文件移动到下面的文件夹(在我的情况下)C:\ProgramData\MySQL\MySQL Server 5.7\Uploads 来完成这项工作,然后我执行了下面的命令,它对我有用,
UPDATE tbl_name SET logo=LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/fileName.jpg') where id='qweq12';
希望这会有所帮助。
【讨论】: