写点什么

javax.imageio.IIOException: Unsupported Image Type

用户头像
wjchenge
关注
发布于: 2021 年 03 月 21 日
javax.imageio.IIOException: Unsupported Image Type

背景

使用 thumbnailator 生成图片的缩略图。

环境


thumbnailator 版本:0.4.13

原始图片类型:jpg


错误信息

javax.imageio.IIOException: Unsupported Image Type        at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1079) ~[na:1.8.0_162]        at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1050) ~[na:1.8.0_162]        at net.coobird.thumbnailator.tasks.io.InputStreamImageSource.readImage(Unknown Source) ~[thumbnailator-0.4.13.jar:0.4.13]        at net.coobird.thumbnailator.tasks.io.InputStreamImageSource.read(Unknown Source) ~[thumbnailator-0.4.13.jar:0.4.13]        at net.coobird.thumbnailator.tasks.SourceSinkThumbnailTask.read(Unknown Source) ~[thumbnailator-0.4.13.jar:0.4.13]        at net.coobird.thumbnailator.Thumbnailator.createThumbnail(Unknown Source) ~[thumbnailator-0.4.13.jar:0.4.13]        at net.coobird.thumbnailator.Thumbnails$Builder.toFile(Unknown Source) ~[thumbnailator-0.4.13.jar:0.4.13]
复制代码


解决方案


引入第三方支持处理 webp 图片类型的类库即可解决。因为 thumbnailator 底层使用的 JDK 的 javax.imageio 类库处理图片,显然 JDK 原生处理图片的类库只支持绝大部常见的图片类型,需要引入第三方类库对 JDK 的 javax.imageio 进行功能的补充和扩展,引入后系统会自动感知对业务代码无侵入性。


引入第三方类库


Gradle

implementation group: 'com.twelvemonkeys.imageio', name: 'imageio-jpeg', version: '3.6.4'implementation group: 'com.twelvemonkeys.imageio', name: 'imageio-tiff', version: '3.6.4'
复制代码


Maven

<dependency>    <groupId>com.twelvemonkeys.imageio</groupId>    <artifactId>imageio-jpeg</artifactId>    <version>3.6.4</version></dependency>
<dependency> <groupId>com.twelvemonkeys.imageio</groupId> <artifactId>imageio-tiff</artifactId> <version>3.6.4</version></dependency>
复制代码


用户头像

wjchenge

关注

还未添加个人签名 2018.07.27 加入

还未添加个人简介

评论

发布
暂无评论
javax.imageio.IIOException: Unsupported Image Type