所以在我的jrxml文件中,我有以下内容:
<parameter name="smileyfaceimage" class="java.lang.String"/>
然后我在这里引用它:
<image scaleImage="FillFrame" onErrorType="Blank">
<reportElement x="167" y="62" width="363" height="171" backcolor="#333333"/>
<imageExpression class="java.lang.String"><![CDATA[$P{smileyfaceimage}]]></imageExpression>
</image>
这不正确吗?
我已经尝试了base64编码,包括使用和不使用:
data:image/png;base64,
这是我正在处理的图片:
然后我使用了 https://www.base64-image.de/ 或其他网站来获取base64字符串。我测试了它生成的字符串,它是有效的。
现在,在我的代码中:
- 将变量的值设置为base64字符串;
- 在模板上:
- 设置参数:
<parameter name="smileyfaceimage" class="java.lang.String"/>
- 设置参数:
- 然后将图像数据添加到页面:
<image scaleImage="FillFrame" onErrorType="Blank"> <reportElement x="167" y="62" width="363" height="171" backcolor="#333333"/> <imageExpression><![CDATA[new java.io.ByteArrayInputStream(org.apache.commons.codec.binary.Base64.decodeBase64($P{smileyfaceimage}.getBytes()))]]></imageExpression> </image>
我是否漏掉了一个步骤?