Вопрос по oracle, jasper-reports, java – Как просмотреть изображение из столбца BLOB-объектов в Oracle с помощью JasperReports?
Я попытался определить элемент изображения в макете отчета и задать тип 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
Я также пытался гуглить, но в результате получаю то, что я делаю сейчас.
Спасибо за вашу помощь.
2
ответа
как вы вызываете BLOB-объект, чтобы встроить изображение в код отчета ...
Useblob.getBinaryStream()
.
Convert the stream using 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Спасибо, это просто работает для меня. Первоначально я передавал BLOB-объект в параметр отчета без какого-либо преобразования типов или потокового преобразования.