在 JSP 中将字节数组显示为图像

 2022-01-07 

Displaying byte array as an image in a JSP

我有一个 Servlet,我已将它指定为我的 Java Web 应用程序的欢迎页面。在 Servlets doGet 方法中,我从数据库中检索 Product 对象列表。 Product 对象由以下部分组成:ID、名称、描述和图像(byte[])。

然后我将产品列表作为属性添加到请求中,并转发到我想要显示所有产品的 JSP(在表格中)。显示名称、ID 和描述等属性很容易。

我的问题是,我不确定如何显示图像。有什么想法吗?


您需要对图像数据进行 base 64 编码并生成如下所示的数据 url:

data:image/png;base64,21fe8w4r7qwe/f4sd68f4/er41we5f1sd/1a3/13dfvd21

像这样的代码可以解决问题:

1
String url ="data:image/png;base64," + Base64.encode(bytes);

然后将该网址用作您的图片 src.