1.问题描述
最近在做前端图片展示时遇到的问题,前端上传了图片,后端保存后,返回图片的展示地址,前端再根据地址展示图片,但是前端上传的图片,有一些能正常展示,有一些为空白,查看后端发现返回的BufferedImage为空,BufferedImage是由ImageIO.read读取出来。
2.问题原因
查看图片发现,虽然上传的图片都是以jpg,png或者jpeg为后缀的,但是实际上的图片格式却是.webp,用记事本打开可看到。
webp是谷歌2010新出的图片类型,java无法支持这种格式的图片,正常的方式读取就会报空。
3.解决方案
只需要在项目中添加webp-imageio依赖即可,代码不需要修改
<dependency> <groupId>org.sejda.imageio</groupId> <artifactId>webp-imageio</artifactId> <version>0.1.6</version> </dependency>