2013-04-05 132 views
3

我想從我的報告中的數據庫中詳細插入圖像Jaspersoft Studio
JPG格式的圖像保存在MySQL中的字段imgdata類型longblob
I`v試圖把這種表情在圖像元素:如何從數據庫插入圖像?

  1. $F{imgdata}
  2. 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的報告?

+0

可能[在使用PostgreSQL Ireports顯示圖像](http://stackoverflow.com/q/8430313/876298)交幫助你 – 2013-04-05 13:59:11

+0

'imgdata'字段的類型是什麼(在你的* jrxml *文件中)? – 2013-04-05 14:04:53

回答

5

看來我自己解決了這個問題。

這裏是I`v完成的步驟:

1)圖像報告領域的表述應該是:$ F {} imgdata

(注:imgdata是名其中圖像數據存儲在數據庫領域)

2)打開報表的「數據集和查詢對話框」,改變了imgdata場的類類型來回m java.lang.Object到java.io.InputStream 查看屏幕截圖 ---對不起,我沒有足夠的信譽點來發布圖片)。關閉對話框。

3)通過切換到預覽選項卡生成報告。現在,您應該可以在報告中看到圖片。

8

打開.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"/>