问题描述
背景
由于业务需要,生产环境需要将用户上传的图片压缩。
使用javax.imageio.ImageIO.read(java.io.File input) 方法读取图片。代码如下:
BufferedImage img = ImageIO.read(file);
此处需要说明我们生产环境的JDK版本为1.6.0_45。
该功能在生产环境已经使用了2年。之前出现过一次问题,是读取CMYK模式的图片时,会抛出异常“Unsupported Image Type”。
由于系统中很多地方都使用了这样的读取图片方式,我的解决方法尽量没有去改代码。是引入了四个jar包:common-lang-3.0.2.jar,imageio-core-3.0.2.jar,imageio-jpeg-3.0.2.jar,imageio-metadata-3.0.2.jar,然后在web.xml文件中添加如下配置
<!-- 图片读取插件 -->
<listener>
<display-name