您的位置:首页 > 产品设计 > UI/UE

关于javax.imageio.IIOException: Invalid icc profile: bad sequence number

2014-04-23 17:09 991 查看
今天碰到项目有客户出现这个错误, 测试网也有, 但是有时候就没有, 很奇怪的问题。 查下了是JDK 的一个BUG。

BUG 地址: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6404011
大概意思是读取图片流的时候, 如果图片本身格式有问题, 他就会报 Invalid icc profile 错误。官网说是1.6已经修复了, 但是我已经是1.6 版本了, 没搞明白怎么回事。

然后找到一篇帖子说重写image可以解决。 参考地址:http://feicer.iteye.com/blog/803138#bc2345723

类似

                    File doc = new File(file);

                    FileInputStream inFile = new FileInputStream(doc);

                    JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(inFile);

                    BufferedImage image = decoder.decodeAsBufferedImage();

                   

                    FileOutputStream outFile = new FileOutputStream(doc);

                    ImageIO.write(image, ‘JPEG’, outFile);  

                    inFile.close();

                    outFile.close();

                 BufferedImage srcImage = ImageIO.read(doc);

                // do Something (例如缩小图片)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: