今天公司報(bào)錯(cuò)如下:
javax.imageio.IIOException: Invalid icc profile: found only empty markers
原因:
查了stackoverflow這是因?yàn)镴DK本身的一個(gè)BUG,轉(zhuǎn)換出錯(cuò)。可以查看Orcale官網(wǎng)信息
解決:
這個(gè)Bug可以使用Oracle的一個(gè)Image擴(kuò)展庫(kù),JAI(Java Advanced Imaging) 來(lái)解決。下載地址
步驟:
- 下載對(duì)應(yīng)文件
- 拷貝三個(gè)文件:
- jai_codec.jar
- jai_core.jar
- mlibwrapper_jai.jar
- 添加到你的ClassPath
代碼:
SeekableStream seekableStream =newFileSeekableStream(file);
ParameterBlock pb =newParameterBlock();
pb.add(seekableStream);
BufferedImage image = JAI.create("jpeg",pb).getAsBufferedImage();
運(yùn)行,Bug解決!