在很多web开发的场景下,我们需要把图片或者其他文件存储在数据库中,这样可以更方便地管理和维护。接下来,我们将重点讨论如何将图片存储在MySQL数据库中。
一、为什么需要把图片存入数据库?
通常情况下,储存图片可以选择两种方式:一种是将图片储存在服务器上的硬盘中,另一种则是将图片存入MySQL数据库。
储存在服务器上会占用硬盘空间,而且文件的命名和管理也是比较麻烦。但是,将图片存入mysql数据库的好处在于:
二、如何将图片存入MySQL数据库?
在MySQL数据库中存储图片的方式,很多人直觉上可能会想到以下两种:
存储图片路径。即将图片存入服务器的某个文件夹,并将图片的路径信息存储在MySQL数据库中。当我们需要读取图片时,只需从数据库中查询出路径,并读取对应的图片即可。
存储图片数据。即将图片数据存储在MySQL数据库中。 MySQL提供了可用于储存大量二进制数据类型的BLOB数据类型和LONGBLOB数据类型。我们只需将图片数据转换成二进制数据,然后存入数据库中。
如果你选择存储图片数据的方式,那么存储的步骤如下:
CREATE TABLE picture
(
pic_id
int(11) NOT NULL AUTO_INCREMENT COMMENT '图片ID',
pic_name
varchar(100) NOT NULL COMMENT '图片名称',
pic_url
varchar(200) NOT NULL COMMENT '图片地址',
pic_data
longblob COMMENT '图片二进制数据',
PRIMARY KEY (pic_id
)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='图片表';
我们可以使用PHP进行图片上传,在接收到图片后,可以使用MySQLi插入二进制数据。如
上一篇:把图标数组放在哪里?