SpringBoot后端接收文件转换成Base64保存到数据库
若依前后端分离项目:Spring Boot + Vue后端接收文件转换成Base64保存到数据库
·
前言:
若依前后端分离项目:Spring Boot + Vue
前端上传文件(每次仅上传一个文件),后端接收文件(MultipartFile),将其转换为Base64,存储到数据库。
新建一个工具类Base64Utils.java
import com.ruoyi.common.utils.StringUtils;
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.Objects;
public class Base64Utils {
/**
* 文件Base64转码
*
* @param file 文件
* @throws IOException 比如读写文件出错时
*/
public static final String convertToBase64(MultipartFile file) throws IOException
{
String base64Encoder = "";
byte[] buffer = null;
try {
buffer = file.getBytes();
base64Encoder = Base64.encodeBase64String(buffer);
// 防止Base64编码中含有换行符,统一全部替换掉
base64Encoder.replaceAll("[\\s*\t\n\r]", "");
// 添加前端读取需要的前缀
base64Encoder = "data:image/jpeg;base64," + base64Encoder;
} catch (IOException e) {
e.printStackTrace();
}
return base64Encoder;
}
}
Base64的依赖
<!-- Base64-->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.3</version>
</dependency>
更多推荐
所有评论(0)