Java中将base64编码字符串转换为图片

简介: 前一段时间,在做摄像头拍照上传,摄像头拍的照片为base64编码格式的字符串,需要上传至项目中,则需要使用到将base64编码字符串转换为图片

前一段时间,在做摄像头拍照上传,摄像头拍的照片为base64编码格式的字符串,需要上传至项目中,则需要使用到将base64编码字符串转换为图片

1、将base64编码字符串转换为图片的代码如下 ImageUtil.java:

package util;
import javax.servlet.http.HttpServletRequest;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Base64;
import java.util.UUID;
public class ImageUtil {
  /**
   * @Description: 将base64编码字符串转换为图片
   * @Author:
   * @CreateTime:
   * @param file base64编码字符串
   * @param path 图片路径-具体到文件
   * @return
   */
  public static String generateImage(String file, String path, HttpServletRequest request) {
    // 解密
    try {
      // 项目绝对路径
      String savePath = request.getSession().getServletContext().getRealPath("upload");
      // 图片分类路径+图片名+图片后缀
      String imgClassPath = path.concat(UUID.randomUUID().toString()).concat(".jpg");
      // 解密
      Base64.Decoder decoder = Base64.getDecoder();
      // 去掉base64前缀 data:image/jpeg;base64,
      file = file.substring(file.indexOf(",", 1) + 1, file.length());
      byte[] b = decoder.decode(file);
      // 处理数据
      for (int i = 0; i < b.length; ++i) {
        if (b[i] < 0) {
          b[i] += 256;
        }
      }
      // 保存图片
      OutputStream out = new FileOutputStream(savePath.concat(imgClassPath));
      out.write(b);
      out.flush();
      out.close();
      // 返回图片的相对路径 = 图片分类路径+图片名+图片后缀
      return imgClassPath;
    } catch (IOException e) {
      return null;
    }
  }
}
目录
相关文章
|
3天前
|
SQL 存储 安全
如何在Java中进行安全编码?
如何在Java中进行安全编码?
|
1天前
|
Java API 索引
Java中的字符串与字符操作详解
Java中的字符串与字符操作详解
|
7天前
|
人工智能 Java 编译器
大头儿子和小头爸爸的战斗--java字符和字符串
大头儿子和小头爸爸的战斗--java字符和字符串
|
1天前
|
JSON Java 数据格式
前后端数据交换,JSON基础语法和JSON数据和Java对象转换,最快的对象转换,JSON{““}字符串如何写User{id=1,username=‘zhangsan‘,password=‘123‘}
前后端数据交换,JSON基础语法和JSON数据和Java对象转换,最快的对象转换,JSON{““}字符串如何写User{id=1,username=‘zhangsan‘,password=‘123‘}
|
4天前
|
SQL 监控 安全
如何在Java中实现安全编码
如何在Java中实现安全编码
|
4天前
|
Java
用java 将 jb2 文件转图片的方法
用java 将 jb2 文件转图片的方法
|
8天前
|
算法 Java
Java将16进制的字符串转换为10进制数的方法
【6月更文挑战第27天】Java将16进制的字符串转换为10进制数的方法
14 0
|
2月前
|
存储 Java
java用base64编码案例
Java Base64编码示例:导入`java.util.Base64`,设置字符串`originalString`,使用`Base64.getEncoder().encodeToString()`编码并存储到`encodedString`,打印编码后字符串。解码用`Base64.getDecoder().decode()`。
34 0
|
9月前
|
存储 Java
使用Java进行Base64编码的示例
使用Java进行Base64编码的示例
86 1
|
人工智能 Java 对象存储
Java获取阿里云图片临时URL与图片文件转换Base64编码方法
在使用阿里云人工智能产品服务时,有部分服务需要上传的参数中包含文件URL,当我们没有开通OSS服务时,可以使用临时URL服务、或部分服务支持Base64编码格式,此文章为生成临时URL-JavaSDK方案与图片文件转换Base64编码方案。
1889 0