ImageIO处理图片抛异常 Unsupported Image Type

异常抛出的地方:

 

MultipartFile file = multiRequest.getFile(iter.next());

BufferedImage sourceImg = ImageIO.read(file.getInputStream());

异常判断源码:

// Can we read this image?
Iterator imageTypes = getImageTypes(imageIndex);
if (imageTypes.hasNext() == false) {
    throw new IIOException("Unsupported Image Type");
}

今天中午,cms突然报出这个异常,很是奇怪。其他图片都可以,就一直不行,然后用Notepad++打开一看,咦!怎么不是jpg

开头如下:

      ??JFIF ?? 

我记得网上说直接打开就可以看到源文件的真实格式,这个JFIF怎么这个陌生。以为是这个问题,结果百度发现,这也是JPEG的一种。。。再见


翻阅了很多地方,发现很多人都在说ImageIO的这个问题。比如这位分析的很清楚   http://blog.csdn.net/WuZuoDingFeng/article/details/77946489

最后我采取的方案有:

       1、讲图片使用画图打开,然后另存为jpg大笑(亲测有效)

        2、修改后台代码读取的方法,直接读取文件,不用ImageIO害羞(这个暂时没有使用)

      

当然那些加jar包的方法害羞我懒得搞。另存一下。。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值