为什么ImageIO.read无法识别流

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

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

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

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

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

img


img

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

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

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

先看看控制器里面MultipartFile对象有没有值。

CSDN给你的排版,看的是一脸懵逼, 你是需要根据mineType获的文件后缀名还是根据文件后缀名获取mineType类型

因为图片格式和后缀不符合, 上传的后缀为JPG
我又查看了上传的图片格式,??JFIF 是JFIF,也就是jpg 这个JFIF是啥格式 ,我自己就知道这两个

/**
* JPEG图像
/
JPEG("jpeg", "JPEG图像", "image/jpeg"),
/
*
* JPG图像
*/
JPG("jpg", "JPG图像", "image/jpg"),