我没有使用jsp的经验,我正试图帮助我的同事在一个旧的struts2项目。
我们从后端接收到一些关于产品特性的信息。其中一个信息是base64格式的图像。我想把它设置在<img src...>
如果我将它设置在一个div中,我可以看到图像信息(base64字符串)打印在浏览器上。
<div id="<s:property value="%{#attribute.id}"/>" > </div>
但是,如果我尝试对<img元素做类似的事情,则源元素无法正确填充。我有这个:>
<img src="<s:property value="%{#attribute.id}"/>" transform='<s:property value="%{#attribute.transformFunction}" />' />
转换操作是将'data:'添加到base64字符串的开头(不知道为什么它最初没有附带)
在控制台中,如果我检查两个元素,我得到这个1日
<div id="image" transform="transformBase64ToImage" original="iVBOR...(base64string here)">data:image/gif;base64,iVBOR...(base64string here)</div>
2 -显然不加载任何图像
<img src="image" transform="transformBase64ToImage">
如何将base64字符串添加到图像源属性?
请尝试下面的代码
- 在action类中添加以下代码-
private String product; // add getter & setter BASE64Encoder base64Encoder = new BASE64Encoder(); StringBuilder imageStr = new StringBuilder(); byte data[] = "Add Byte array here"; imageStr.append("data:image/png;base64,"); imageStr.append(base64Encoder.encode(data)); product = imageString.toString();
- 在jsp文件中添加下面的标签
& lt; img宽度="100";身高="100";src ="& lt;销售:属性值="product","/"的在