java.lang.IllegalArgumentException:im == null?

时间:2011-11-13 14:25:03

标签: postgresql javax.imageio

我实际上从PostgreSQL获取输入源。 表列类型是bytea。我想将字节转换回原始图像。

BuffredImage bImageFromConvert = ImageIo.read(new ByteArrayInputStream(rsvalue.getBytes(10)));

ImageIO.write(bImageFromConvert, "jpg", new File("D:\\"+ rsvalue.getString(2) +".jpg"));

错误如下:

Exception in thread "main" java.lang.IllegalArgumentException: im == null!
    at javax.imageio.ImageIO.write(ImageIO.java:1457)
    at javax.imageio.ImageIO.write(ImageIO.java:1521)
    at my.lincdoc.controller.ProposalController.RetrieveProposalForm(ProposalController.java:66)
    at my.lincdoc.common.App.main(App.java:16)

任何人都可以帮助我?

1 个答案:

答案 0 :(得分:2)

ImageIO.read州的文档:

  

如果没有已注册的ImageReader声称能够读取生成的流,则返回null。

如果bImageFromConvert为空,您将获得您显示的异常。所以几乎可以肯定发生了什么。您应该查看从rsvalue.getBytes(10)返回的数据 - 看看它是不完整的,损坏的还是类似的。一个起点是将其写入文件,看看是否可以使用图片浏览器打开它。