Mysql怎么把图片转换的base64以字符串的类型存入数据库?
一、Mysql怎么把图片转换的base64以字符串的类型存入数据库
MySQL没有内置功能可以实现此功能,但可以使用以下步骤实现:1. 使用PHP或其他编程语言将图像转换成Base64字符串;2. 将Base64字符串存储在MySQL数据库中的VARCHAR或TEXT字段中。
下面是一个示例:
python
Copy code
import base64
# 读取图片并转换为 base64 编码
with open(“image.jpg”, “rb”) as image_file:
encoded_string = base64.b64encode(image_file.read()).decode(‘utf-8’)
# 将 base64 编码字符串存储到数据库中
cursor.execute(“INSERT INTO images (image) VALUES (%s)”, (encoded_string,))
但不建议存储图片,音视频类的真实数据到数据库内。一般都将这些数据存储到对象存储上,然后记录一些位置信息,使用的时候在应用程序上面写逻辑获取。
硬要这么做就是用blob 这种格式直接存图片二进制更简单粗暴点
延伸阅读:
二、在数据库中存储图像的常用方法
在数据库中存储图像的常用方法是在存储数据之前将图像转换为base64数据。这个过程将增加 33% 的大小。或者,可以将图像直接存储为 BLOB;例如:
$image = new Imagick(“image.jpg”);
$data = $image->getImageBlob();
$data = $mysqli->real_escape_string($data);
$mysqli->query(“INSERT INTO images (data) VALUES (‘$data’)”);
然后用
显示图片
使用后一种方法,我们节省了 1/3 的存储空间。为什么在 MySQL 数据库中将图像存储为 base64 更常见?
关于将图像存储在数据库中的优缺点有很多争论,大多数人认为这不是一种实用的方法。无论如何,在这里我假设我们将图像存储在数据库中,并讨论这样做的优异方法。
相关推荐HOT
更多>>linux命令行启动服务?
Linux开机启动chkconfig命令详解1、第一行告诉chkconfig缺省启动的运行级以及启动 和停止的优先级。如果某服务缺省不在任何运行级启动,那么使...详情>>
2023-10-21 23:54:28linux命令psw6?
linux命令大全1、Linux命令大全以下是一些常用的 Linux 命令:ls:列出当前目录下的文件和目录。cd:改变当前目录。pwd:显示当前目录的路径。m...详情>>
2023-10-21 22:31:23linux显示命令位置?
Linux中显示一个文件最后几行的命令是什么?tail -n 20 filename\x0d\x0a说明:显示filename最后20行。\x0d\x0a\x0d\x0aLinux下tail命令的使详情>>
2023-10-21 20:28:50linux重启王卡命令?
linux重启命令Linux的五个重启命令为:shutdown、poweroff、init、reboot、halt。shutdown shutdown命令可以安全地将系统关机。有些用户会使用...详情>>
2023-10-21 19:27:14