在MySQL中存储图片
创始人
2024-12-01 09:06:17
0

在MySQL中存储和提取图片通常涉及使用BLOB(Binary Large Object)数据类型。

以下是一般的步骤: 

一、 创建表:

在MySQL数据库中创建一个表,该表包含一个BLOB列来存储图片数据。

因为后面存图片时显示:Error Code: 1406. Data too long for column 'ImageData' at row 1    0.000 sec,表示“ImageData”列的数据太长,于是我换成了LONGBLOB类型

CREATE TABLE imagesblob (     ImageID INT PRIMARY KEY,     ImageData LONGBLOB ); 

 

 这是一个简单的例子,可以根据自己的需求扩展表的字段。 

二、 插入图片: 

提前在制定位置放入图片:

使用INSERT语句将图片数据插入到表中。 

INSERT INTO imagesblob  (ImageID, ImageData) VALUES (1, LOAD_FILE('/path/to/your/image.jpg')); 

这里,'/path/to/your/image.jpg' 是要插入的图片文件的路径(后面有具体示例)。    

在 MySQL 中使用 LOAD_FILE 函数插入图片数据时,有几个需要注意的地方:

1.文件路径问题:

LOAD_FILE 函数中的路径应该是服务器文件系统上的绝对路径,而不是相对于数据库的路径。

错误示例:

INSERT INTO imagesblob (ImageID, ImageData) VALUES (1, LOAD_FILE('/Images/001.jpg')); -- imagesblob 为数据库表名,ImageID, ImageData分别为表字段分别表示图片ID和图片数据

执行该语句时表中ImageData为空,因为使用的是相对路径 /Images/001.jpg,这可能不是服务器文件系统的正确路径。确保提供正确的绝对路径。


2.文件访问权限:

MySQL 服务器需要有读取文件的权限。确保 MySQL 服务器有访问指定路径的权限,可以通过检查 MySQL 的配置文件或者授予 MySQL 进程适当的文件系统权限来解决这个问题。


3.MySQL 配置:

在 MySQL 配置文件中,secure_file_priv 可能限制了 LOAD_FILE 的使用。检查 MySQL 的配置文件中是否设置了 secure_file_priv,并确保它允许使用指定的路径。

示例 MySQL 配置文件中的 secure_file_priv 设置:

[mysqld] secure_file_priv = /path/to/allowed/directory
 
4.数据库和表结构:

确保数据库表的结构正确,包括字段类型和大小。在示例中,ImageData 字段的类型应该是 BLOB 或 LONGBLOB。


5.文件是否存在:

确保指定的文件确实存在于指定的路径中。

请检查这些方面,以确保在执行 INSERT 语句时没有错误。如果问题仍然存在,查看 MySQL 的错误日志以获取更详细的错误信息,这有助于确定问题所在。

具体示例:

INSERT INTO imagesblob (ImageID, ImageData) VALUES (1, LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/Images03/001.jpg'));

注: 这里我的路径是  C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\

 检查 secure_file_priv 的当前设置: 在 MySQL 中,secure_file_priv 是一个系统变量,它指定了服务器上可用于 LOAD DATA INFILESELECT ... INTO OUTFILE 操作的目录。

SHOW VARIABLES LIKE 'secure_file_priv'; 

三、执行结果展示

相关内容

热门资讯

金花游戏房卡怎么获得最简单方法... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享受...
秒懂教程“牛牛链接房卡那里有/... 先锋大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...
微信金花房卡链接如何购买/购买... 金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来享受...
微信金花群怎么买房卡/购买斗牛... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享受...
房卡必备教程“链接金花房卡怎么... 新星游牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡...
正版金花房卡哪里有卖/金花链接... 金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享受...
一分钟了解“炸金花房卡专卖店联... 新西游牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡...
微信链接牛牛群房卡怎么买/微信... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来享受...
一分钟推荐“金花大厅房卡链接在... 毛豆大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡...
终于找到“购买斗牛金花房卡联系... 卡米大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡...
一分钟推荐“金花房卡在哪里能弄... 新超圣牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡...
微信群链接牛牛买房卡/微信牛牛... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享受...
牛牛金花房卡链接在哪买/金花客... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来享受...
金花大厅房卡如何购买的/微信金... 金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡来享...
微信里面炸金花房卡充值方式/在... 金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享受...
终于找到“微信链接斗牛房卡开科... 微信网页牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房...
终于找到“金花房卡微信充值/毛... 毛豆大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...
牛牛链接房卡在哪里弄/炸金花房... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来享受...
一分钟了解“金花斗牛牛房卡怎么... 悠悠互娱是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...
正版授权“微信怎么创建金花房间... 毛豆大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来...