将base64字节数组转换为图像

SyA*_*yAu 8 base64 jsp image

我有一个带有属性id,desc和imageByteArray的表单bean.Struts动作被执行并重定向到JSP,我想访问这些bean属性,如id,desc,并转换imageByteArray并将其显示为图像.我试过这篇文章,但那不适合我.

我使用Base64对bytearray进行编码 - 其中this.bean.imageByteArray引用表单bean

this.bean.setImageByteArray(new org.apache.commons.codec.binary.Base64().encode(imageInByteArr));
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但没有工作

<img src="data:image/jpg;base64,<c:out value='${bean.imageByteArray}'/>" />
Run Code Online (Sandbox Code Playgroud)

字节数组(byte [] imageByteArray)引用base64编码的JPG图像,我得到以下img标记作为输出,显然没有显示任何内容,

<img src="data:image/jpg;base64,[B@2e200e">
Run Code Online (Sandbox Code Playgroud)

知道如何转换base64字节数组并在JSP中显示为图像?

Dou*_*alt 12

你得到的只是数组的toString输出.但是,您需要将字节数组转换为String.

您应该在bean中创建一个方法


public String getByteArrayString()
{
   return new String(this.imageByteArray);
}
Run Code Online (Sandbox Code Playgroud)

并在您的JSP中引用它.

虽然从技术上讲你应该定义用于base64字节数组的编码,但这并不是必需的,因为所有字符都在标准的7bit ASCII范围内.