我需要在MYSQL数据库表中插入图像。图像存储在本地磁盘中。我正在使用LOAD_FILE()插入图像,但它只存储路径而不是图像。
如果无法从本地磁盘插入,那我可以从哪里获得图像?请给我一个解决方案,说明将图像存储到数据库中需要哪些资源。
答案 0 :(得分:0)
我不确定您的应用程序会做什么,但是我强烈建议您不要将图像直接存储到MYSQL数据库中,从长远来看,您的数据库会很慢。
要回答您的问题,您需要执行以下操作:-
第1步:创建MySQL表
创建一个带有blob类型字段的mysql表,以保存图像。
在我们的表格中,我们只有两个字段:
1)int类型的image_id
2)斑点类型的图像
这是创建表的查询:
创建表格图片(
image_id int(10)NOT NULL auto_increment,
图像斑点
主键(image_id
)
);
步骤2:将图片插入表格
现在,我们可以使用insert into sql将图像插入表中。以下是sql的示例:
将图片插入图片值(1,LOAD_FILE('d:\ flower.gif'));
我们已使用MySQL的LOAD_FILE()函数将图像数据插入数据库。
插入数据后,您可以使用MySQL工具查看它。
希望能解决您的问题:)。
答案 1 :(得分:0)
而不是将图像放入数据库中。 只需将相对路径放入数据库和系统上的实际文件中即可。
获取1个基本目录:/ root / child / images
需要存储的图像是image1.jpg,image2.jpg等。
只需将“ image1.jpg”存储在数据库中即可。
因此,在获取数据时,请获取文件名,并将其与基本目录路径合并并获取它。
答案 2 :(得分:0)
我可以先将图像(fileName.jpg
)文件移到以下文件夹中(以我的情况为例,C:\ProgramData\MySQL\MySQL Server 5.7\Uploads
),然后在命令下方执行,它对我有用,< / p>
UPDATE tbl_name SET logo=LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/fileName.jpg') where id='qweq12';
希望这会有所帮助。