mysql 以blob形式储存的图片读取显示

把blob格式的数据从数据库中读取出来并弄成BufferedImage 的形式

Blob Simage = rs.getBlob(1);
BufferedImage bi1 = ImageIO.read(new ByteArrayInputStream(Simage.getBytes(1, (int) Simage.length())));

BufferedImage 转化成ImageView

使用这个函数就可以返回ImageView,可以在javafx中正常使用

public static ImageView imageViewChangeBuffer(BufferedImage capture) {
        ImageView imageView = new ImageView();
        Image image = SwingFXUtils.toFXImage(capture, null);
        imageView.setImage(image);
        return imageView;
}
图片流文件以blob形式存储数据库中,可以按照以下步骤进行: 1. 读取图片流文件,将其转换为字节流。 2. 连接数据库,创建表格,其中包含一个blob类型的列用于存储图片。 3. 将字节流插入到blob列中。 下面是一个Python代码示例,用于将图片流文件以blob形式存储MySQL数据库中: ``` python import mysql.connector from io import BytesIO from PIL import Image # 读取图片并转换为字节流 img = Image.open('example.jpg') imgByteArr = BytesIO() img.save(imgByteArr, format='JPEG') imgByteArr = imgByteArr.getvalue() # 连接数据库 mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) # 创建表格 mycursor = mydb.cursor() mycursor.execute("CREATE TABLE images (id INT AUTO_INCREMENT PRIMARY KEY, image BLOB)") # 插入字节流到blob列中 sql = "INSERT INTO images (image) VALUES (%s)" val = (imgByteArr,) mycursor.execute(sql, val) mydb.commit() print(mycursor.rowcount, "record inserted.") ``` 在代码中,我们首先使用PIL库读取图片,并将其转换为字节流。然后,我们连接到MySQL数据库,并创建一个名为“images”的表格,其中包含一个名为“image”的blob列。最后,我们将字节流插入到blob列中,并提交更改。 请注意,这只是一个示例代码,您需要根据自己的情况进行修改。例如,您需要替换数据库连接详细信息以及要存储的图像文件名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值