ImageIO.read() 读取webp图片报null异常

过去的,未来的
2024-02-05 / 0 评论 / 0 点赞 / 34 阅读 / 179 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-02-05,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1、有些图片后缀虽然是png的,但是实质上是其他的格式。

样例图片
用记事本可以打开看到他真实的格式
image-1707114130706

2、这种格式ImageIO.read() 读取 图片的时候返回的是null

3、解决办法

只需要增加如下依赖,代码不用动
webp-imageio-core-0.1.0.jar

 <dependency>
            <groupId>com.github.nintha</groupId>
            <artifactId>webp-imageio-core</artifactId>
            <version>0.1.0</version>
</dependency>

4、获取图片的类型

   public static String getImageType(String url)  {
        try {
            URL oracle = new URL(url);
            ImageInputStream image = ImageIO.createImageInputStream(oracle.openStream());
            Iterator<ImageReader> readers = ImageIO.getImageReaders(image);
            return readers.next().getFormatName();
        }catch (Exception e){
            log.error("getImageType url={}",url,e);
        }
        return null;
    }
0

评论区