最近开发API上传文件,采用了Base64格式上传,后端接受前端Base64图片内容,此后decode 后上传至阿里云。
在从阿里云取出流,并想继续在java中谷歌thumbnails工具生成缩略图时,出现了问题。总是报:net.coobird.thumbnailator.tasks.UnsupportedFormatException: No suitable ImageReader found for source data.后来百度,很多人说,不可以直接处理Thrumbnails.of(inputstream),而改成file的形式。试之,无用!
在查找了大量资料,原来问题的主要原因不在于inputstream,而是在于在文件上传时,对base64编码的文件内容,必须去掉image格式头:data:image/*;base64,,然后再存储,否则,在从oss取出流并对文件做进一步图片处理时,就无法解析。试之,问题完美解决!