如何将 BufferedInputStream 转换为图像?
原始问题:
我在将 blob 转换为图像时遇到困难缓冲图像。我正在从数据库中以 blob 形式检索 JPG 图像,但使用 BufferedImage 转换为图像会返回 null。如何解决此问题?
解决方案:
- 通过使用 ImageIO.write 写出 uploadedInputStream 来验证其是否包含有效图像。
- 确保 Blob#length 返回与 Blob#getBytes 兼容的值。在这种情况下,Blob#length 返回一个 long,而 Blob#getBytes 需要一个 int,这可能会导致截断。
- 考虑使用 getBinaryStream 而不是 getBytes 来检索 blob 内容,因为 getBinaryStream 更适合 blob
其他注意事项:
- 提供的代码不处理 ImageIO.read 引发的潜在异常。确保异常得到妥善处理或传播给调用者。
- 为了进一步调试,请提供有关输入数据的更多信息,例如其大小和格式。
- 请参阅用于正确检索和处理 blob 的数据库库。
以上是如何在 Java 中将 Blob 转换为 BufferedImage?的详细内容。更多信息请关注PHP中文网其他相关文章!