我有一个具有属性id,desc和imageByteArray的表单bean。Struts动作被执行,并将其重定向到JSP,我想在其中访问这些bean属性,例如id,desc并转换imageByteArray并将其显示为图像。
我使用Base64编码字节数组-其中this.bean.imageByteArray引用表单bean
this.bean.setImageByteArray(new org.apache.commons.codec.binary.Base64().encode(imageInByteArr));
我尝试了这个,但是没有用
<img src="data:image/jpg;base64,<c:out value='${bean.imageByteArray}'/>" />
字节数组(byte [] imageByteArray)指的是base64编码的JPG图像,我得到以下img标签作为输出,显然没有任何显示,
<img src="data:image/jpg;base64,[B@2e200e">
任何想法如何转换base64字节数组并在JSP中显示为图像?
您得到的只是数组的toString输出。但是,您需要将字节数组转换为字符串。
您应该在bean中创建一个方法
public String getByteArrayString() { return new String(this.imageByteArray); }
并在您的JSP中引用它。
从技术上讲,您应该定义用于base64字节数组的编码,由于所有字符都在标准7位ASCII范围内,因此这不是必需的。