Java中读取本地图片并转为base64解决办法

主要在头像上传比较常见

后端处理方式:

* @Description: 显示头像 * @Author: lzw * @Date: 2020/12/21 21:19 * @param yve930 * @return: void @RequestMapping("showImg") public void showImg(Integer yve930) throws Exception { //将图片文件转化为字节数组字符串,并对其进行Base64编码处理 String imgFile ="D:\20201222\lzw\headImg\a.jpg"; if(imgFile!=null){ if(new File(imgFile).exists()){ InputStream inputStream = null; byte[] buffer = null; //读取图片字节数组 try { inputStream = new FileInputStream(imgFile); int count = 0; while (count == 0) { count = inputStream.available(); buffer = new byte[count]; inputStream.read(buffer); } catch (IOException e) { e.printStackTrace(); } finally { if (inputStream != null) { try { // 关闭inputStream流 inputStream.close(); } catch (IOException e) { e.printStackTrace(); data="data:image/png;base64,"+new BASE64Encoder().encode(buffer); setData("data", t8LiuZhengWeiManageReadService.showImg(yve930));
 //js部分:
               this.Base.submit(null, {
                   url: "team8/LiuZhengWei/T8LiuZhengWeiManageRestService/showImg",
                   data: {}
               }).then(data => {
                   this.imageUrl = data.data.data
                   console.log('成功', data)
               }).catch(error => {
                   console.log('失败', error)
//html部分:
        <img src="imageUrl" /> 

因为服务器上面的图片的地址无法在html中直接解析出来,所以只能通过base64编码处理图片编码;

前端Base64处理方式

    function getBase64(img, callback) {