前言:

若依前后端分离项目: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>

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐