第一步
<![CDATA[new java.io.ByteArrayInputStream(org.apache.commons.codec.binary.Base64.decodeBase64($P{certPhoto}.getBytes()))]]>
第二步,Java代码
HashMap a = new HashMap();
a.put("parameter1","/9j/4AAQSkZJRgABAQEAYA .......")
可以预览编译显示,但是程序运行导出却不能显示啦???
http://blog.csdn.net/wujiaohua888168/article/details/50821355
兄台,我就是按照这个整的啊, 出不来啊,能远程指导下吗? 联系方式:QQ 465516421
<![CDATA[new java.io.ByteArrayInputStream(org.apache.commons.codec.binary.Base64.decodeBase64($P{certPhoto}.getBytes()))]]>
,这个地方建议加上编码getBytes
Base64方式显示图片有什么好处么?
我都是已文件流的方式直接读图片展示, 感觉还可以啊。
后台:
InputStream imgsrc = new FileInputStream("图片路径");
paramMap.put("LOGO", imgsrc);
ireport:
image Excepression: $P{LOGO} 这里是以参数中得到。
Expression Class: java.io.InputStream
前提, ireport 要先导入一个Image组件。
Base64只适用于小文件,大文件不适合,建议不要用这种方式,还是用文件流吧