[英]Image is null after creation with not null InputStream
我有以下代码:
public BufferedImage inputStreamToImage (InputStream stream) {
BufferedImage image = null;
if (stream != null ) {
try {
image = ImageIO.read(stream);
// image is still null here <--
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
return image;
}
我测试InputStream是否为null,而不是。 然后我从InputStream创建一个新的BufferedImage。 再没有什么问题,代码执行就像它正在工作。 但是当我尝试使用图像时它是空的。换句话说,在“成功”创建之后,我测试图像并且它为空。
编辑
我通过html表单上传.tif文件,如下所示:
<form action="webresources/read" method="post" enctype="multipart/form-data">
<p>
Select a file : <input type="file" name="file" id="file" />
</p>
<input type="submit" value="Upload It" />
</form>
有帮助吗? 提前致谢 :)
啊! 所以..原因是ImageIO.read()不支持.tif图像。 我尝试用.jpg,它工作正常。
是否有可能在ImageIO的文档中声明以下情况 - “InputStream包含在ImageInputStream中。如果没有注册的ImageReader声称能够读取结果流,则返回null。”?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.