Genyu_8 2021-11-19 08:32 采纳率: 50%
浏览 70
已结题

为什么ImageIO.read无法识别流

问题遇到的现象和发生背景

在进行文件上传时,遇到的问题.
前端传递的 参数为 MultipartFile file
后端转成Base64 Base64Str
调用存储接口(参数为不含头部信息的Base64)
解码之后转换成流用ImageIO读取时一直提示是NULL

前端传递过来的参数是可以收到的,转成base64也没有问题,转换成流的过程也没有问题,就是转成流之后
ImageIO读取为NULL

我以为是传递的时候得包含头部信息 data:image/jpg;base64 这种,结果还是NULL,
后面查找资料说是因为图片格式和后缀不符合, 上传的后缀为JPG
我又查看了上传的图片格式,??JFIF 是JFIF,也就是jpg

这我就不明白了问题出在哪

img


img

我的解答思路和尝试过的方法

要不要换个流对象>?
求解,或者解决的方向,

  • 写回答

4条回答 默认 最新

  • Vae 东 2021-11-19 09:43
    关注

    jfif是一种图片的存储格式,由JPEG存储格式衍生而来,保存文件时其文件名后缀为“.jfif .就是前端命名不规范.导致你的BASE64流生成的不对,方法无法识别.这样?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    Genyu_8 2021-11-21 08:16

    确实是这样,我把前端传过来的jpg,后缀改成了JPEG,就能识别了.真的要吐了.debug了半年

    回复
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 11月28日
  • 已采纳回答 11月21日
  • 修改了问题 11月19日
  • 修改了问题 11月19日
  • 展开全部
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部