javax.imageio.imageio.read()返回null

javax.imageio.imageio.read()返回null,java,oracle,image-processing,blob,javax.imageio,Java,Oracle,Image Processing,Blob,Javax.imageio,我得到了这个密码: java.awt.image.BufferedImage bi = javax.imageio.ImageIO.read(attachment.getAttachmentAsBlob().getBinaryStream()); 虽然二进制流是3727458字节的字节数组,但函数返回null 我的目的是从Oracle中获取一个Blob,它是一个TIFF图像,并将其转换为PNG,我是否有其他方法来制作它 使用从当前注册的ImageReader中自动选择的ImageReader对

我得到了这个密码:

java.awt.image.BufferedImage bi = javax.imageio.ImageIO.read(attachment.getAttachmentAsBlob().getBinaryStream());
虽然
二进制流
是3727458字节的
字节数组
,但函数返回
null


我的目的是从
Oracle
中获取一个
Blob
,它是一个TIFF图像,并将其转换为PNG,我是否有其他方法来制作它

使用从当前注册的ImageReader中自动选择的ImageReader对提供的ImageInputStream进行解码后返回BuffereImage。如果没有注册的ImageReader声称能够读取流,则返回null。因此,也许没有一个ImageReader声称能够阅读该流。请您评论一下对该流示例的引用?答案会很好。基于一些快速的谷歌搜索和JavaDocs,TIFF只在Java 9+上得到开箱即用的支持,以前的版本依赖于Java高级成像API(JAI)或其他插件