在进行文件上传时,遇到的问题.
前端传递的 参数为 MultipartFile file
后端转成Base64 Base64Str
调用存储接口(参数为不含头部信息的Base64)
解码之后转换成流用ImageIO读取时一直提示是NULL
前端传递过来的参数是可以收到的,转成base64也没有问题,转换成流的过程也没有问题,就是转成流之后
ImageIO读取为NULL
我以为是传递的时候得包含头部信息 data:image/jpg;base64 这种,结果还是NULL,
后面查找资料说是因为图片格式和后缀不符合, 上传的后缀为JPG
我又查看了上传的图片格式,??JFIF 是JFIF,也就是jpg
这我就不明白了问题出在哪
要不要换个流对象>?
求解,或者解决的方向,
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"),