在Java后端中,可以使用以下代码将数据库中的图片字节流数组输出至前台 img 中:

  1. 从数据库中读取图片字节流数组:
// 假设图片字节流数组存储在名为 "imageData" 的列中,表名为 "images",且该表有一个名为 "id" 的主键列
String sql = "SELECT imageData FROM images WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, imageId);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
    byte[] imageData = rs.getBytes("imageData");
    // 将 imageData 输出至前台 img 中
}
  1. 将图片字节流数组以流的方式输出至前台 img 中:
// 将图片字节流数组转换为 ByteArrayInputStream
ByteArrayInputStream bais = new ByteArrayInputStream(imageData);
// 设置响应 Content-Type 为 image/jpeg(或其他图片格式)
response.setContentType("image/jpeg");
// 获取响应输出流
OutputStream os = response.getOutputStream();
// 将图片字节流写入响应输出流
byte[] buffer = new byte[1024];
int len;
while ((len = bais.read(buffer)) != -1) {
    os.write(buffer, 0, len);
}
// 关闭流
os.close();
bais.close();

以上代码可以将指定 ID 的图片字节流数组输出至前台 img 中。将代码放入一个 servlet 或者 controller 中,然后在前台页面中将图片的 src 属性设置为该 servlet 或者 controller 的 URL 即可

Java后端读取到数据库图片字节流数组以流的方式输出至前台 img中

原文地址: https://www.cveoy.top/t/topic/gAS7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录