我尝试在报表布局中定义一个图像元素,并将类型设置为java.io.Inputstream,但这不起作用,我也尝试设置为java.awt.Image并且都不起作用,我得到的例外是
java.lang.ClassCastException: oracle.sql.BLOB cannot be cast to java.awt.Image
要么
java.lang.ClassCastException: oracle.sql.BLOB cannot be cast to java.io.InputStream
我也尝试谷歌,但结果是我现在正在做的事情.
谢谢你的帮助.
没有看到你如何调用blob将图像嵌入报告代码中…
>使用blob.getBinaryStream()
.
>使用javax.imageio.ImageIO.read( InputStream )
转换流.
例如:
javax.imageio.ImageIO.read( blob.getBinaryStream() )
这将返回BufferedImage
的实例,该实例是java.awt.Image的子类,并且应该是嵌入到报表中的合适对象.
示例中显示的blob变量必须使用报表中的相应变量(表示来自所需列的数据).
也可以看看:
> https://forums.oracle.com/forums/thread.jspa?threadID=2081381