1

我需要在 MYSQL 数据库表中插入图像。图像存储在本地磁盘中。我正在使用 LOAD_FILE() 插入图像,但它只存储路径而不是图像。

如果无法从本地磁盘插入,我可以从哪里获取图像?请给我一个解决方案,说明将图像存储到数据库中所需的资源是什么。

4

3 回答 3

1

我不确定您的应用程序是做什么的,但我强烈建议您不要将图像直接存储到 MYSQL 数据库中,从长远来看,您的数据库将会滞后。

要回答您的问题,您需要执行以下操作:-

第 1 步:创建 MySQL 表

请创建一个带有 blob 类型字段的 mysql 表,以保存您的图像。

在我们的表中,我们只有两个字段:

1) int 类型的 image_id

2) blob 类型的图像

这是创建表的查询:

CREATE TABLE 图片( image_id int(10) NOT NULL auto_increment, image blob, PRIMARY KEY ( image_id) );

第 2 步:将图像插入表格

现在我们可以使用 insert into sql 将图像插入到表中。以下是 sql 的示例:

插入图片 VALUES(1, LOAD_FILE('d:\flower.gif'));

我们使用 MySQL 的 LOAD_FILE() 函数将图像数据插入数据库。

插入数据后,您可以使用 MySQL 工具查看它。

希望能解决你的问题:)。

于 2018-07-20T04:16:42.470 回答
0

我能够通过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';

希望这可以帮助。

于 2018-10-01T02:12:15.733 回答
0

而不是将图像放入数据库。只需将数据库中的相对路径和系统上的实际文件放在一起。

取 1 个基本目录:/root/child/images

需要存储的图片有image1.jpg、image2.jpg等。

只需将“image1.jpg”存储在数据库中即可。

因此,在获取数据时,获取文件名,将其与基本目录路径结合并获取它。

于 2018-07-20T04:34:42.507 回答