Base64转MultipartFile
String baseString = base64String; //base64String为前端传递的base64字符串
// 解码base64字符串为字节数组
byte[] decodedBytes = Base64.getDecoder().decode(base64String);
// 创建一个ByteArrayResource对象
ByteArrayResource resource = new ByteArrayResource(decodedBytes);
// 创建一个MultipartFile对象,并添加到列表中
MultipartFile multipartFile = new MockMultipartFile("file", "filename.png", "application/octet-stream", decodedBytes);
但是这里有一个问题 就是
new MockMultipartFile("file", "filename.png", "application/octet-stream", decodedBytes);
这个里面的 “file”, “filename.png” 这两个还是需要前端传 如果文件名称固定可以这样写,但是如果是动态的这样就会有问题。而且filename.png 还必须要携带后缀,否则转换完成的不是图片格式。
我这个是用来上传minio的,之前没有增加格式的时候,传上去在minio客户端就无法预览,加上后缀就可以。
2.除过这种还有实现MultipartFile接口,调用重写后的 base64ToMultipart(“base64字符串”)。也会返回一个MultipartFile。不过这种得多写一个工具类。
纯当个记录,反正代码是可以跑的,有问题大家一起交流