如何从数据库插入图像?
问题描述:
我想从我的报告中的数据库中详细插入图像Jaspersoft Studio。
JPG格式的图像保存在MySQL中的字段imgdata类型longblob。
I`v试图把这种表情在图像元素:如何从数据库插入图像?
$F{imgdata}
MyUtil.getInputStream($F{imgdata})
在第一种情况下,我得到这个错误:
net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.JRException: Unknown image source class [B
...并在第二种情况下发生此错误:
net.sf.jasperreports.engine.JRException:
net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error
evaluating expression : Source text :
MyUtil.getInputStream($F{imgdata})
我的问题: 如何从数据库插入图像到JasperReports的报告?
答
看来我自己解决了这个问题。
这里是I`v完成的步骤:
1)图像报告领域的表述应该是:$ F {} imgdata
(注:imgdata是名其中图像数据存储在数据库领域)
2)打开报表的“数据集和查询对话框”,改变了imgdata场的类类型来回m java.lang.Object到java.io.InputStream(
查看屏幕截图
---对不起,我没有足够的信誉点来发布图片)。关闭对话框。
3)通过切换到预览选项卡生成报告。现在,您应该可以在报告中看到图片。
答
打开.jrxml文件的XML视图。 然后找到与此类似
<field name="image" class="java.lang.Object"/>
/* "image" must be replaced by your actual field name */
代码,并将其改变为
<field name="image" class="java.io.InputStream"/>
可能[在使用PostgreSQL Ireports显示图像](http://stackoverflow.com/q/8430313/876298)交帮助你 – 2013-04-05 13:59:11
'imgdata'字段的类型是什么(在你的* jrxml *文件中)? – 2013-04-05 14:04:53