我需要从InputStream获取BufferedImage。
目前,我可以通过运行:
来完成此操作BufferedImage bufferedImage = ImageIO.read(inputStream);
当 inputStream 是 FileInputStream 的实例时。
但是,当 inputStream 是 HttpInputStream 的实例时,BufferedImage为null。
如何从 HttpInputStream 创建BufferedImage?
感谢您的帮助!
答案 0 :(得分:0)
当您尝试从URL
读取图片时,您可以使用IOUtils
读取byte
数组中的文件,然后将ByteArrayInputStream
传递给ImageIO
},例如:
byte[] byteArray = IOUtils.toByteArray(new URL("<url>").openStream());
BufferedImage bufferedImage = ImageIO.read(new ByteArrayInputStream(byteArray));
openStream
返回一个输入流,因此您应该能够创建bufferedImage
个对象。