Nik*_*mov 3 mysql database image jasper-reports
我希望在Jaspersoft Studio的报告中插入来自数据库的数据.
该JPG图像都在现场保存在MySQL imgdata类型LONGBLOB.
我试图把这个表达式放在Image元素中:
$F{imgdata}MyUtil.getInputStream($F{imgdata})在第一种情况下,我收到此错误:
net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.JRException: Unknown image source class [B
Run Code Online (Sandbox Code Playgroud)
......在第二种情况下,这个错误:
net.sf.jasperreports.engine.JRException:
net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error
evaluating expression : Source text :
MyUtil.getInputStream($F{imgdata})
Run Code Online (Sandbox Code Playgroud)
我的问题:如何将数据库中的图像插入到JasperReports的报告中?
小智 10
打开.jrxml文件的XML视图.然后找到与此类似的代码
<field name="image" class="java.lang.Object"/>
/* "image" must be replaced by your actual field name */
Run Code Online (Sandbox Code Playgroud)
并将其更改为
<field name="image" class="java.io.InputStream"/>
Run Code Online (Sandbox Code Playgroud)
看来我自己解决了这个问题.
以下是我做的步骤:
1)图像报告字段的表达式应为:$ F {imgdata}
(注意:imgdata是存储图像数据的数据库字段的名称)
2)打开报表的"数据集和查询对话框",将imgdata字段的类类型从java.lang.Object更改为java.io.InputStream(参见截图 ---抱歉,我没有足够的信誉点发布图片).关闭对话框.
3)切换到Preview-Tab生成报告.现在您应该在报告中看到图像.
| 归档时间: |
|
| 查看次数: |
7656 次 |
| 最近记录: |