java 图片转base64字符串、base64字符串转图片,具体内容如下

1. 图片转base64字符串:

 /**
   * base64编码字符串转换为图片
   * @param imgStr base64编码字符串
   * @param path 图片路径
   * @return
   */
  public static boolean base64StrToImage(String imgStr, String path) {
    if (imgStr == null)
    return false;
    BASE64Decoder decoder = new BASE64Decoder();
    try {
      // 解密
      byte[] b = decoder.decodeBuffer(imgStr);
      // 处理数据
      for (int i = 0; i < b.length; ++i) {
        if (b[i] < 0) {
          b[i] += 256;
        }
      }
      //文件夹不存在则自动创建
      File tempFile = new File(path);
      if (!tempFile.getParentFile().exists()) {
        tempFile.getParentFile().mkdirs();
      }
      OutputStream out = new FileOutputStream(tempFile);
      out.write(b);
      out.flush();
      out.close();
      return true;
    } catch (Exception e) {
      return false;
    }
  }

2. base64字符串转图片:

 /**
   * 图片转base64字符串
   * @param imgFile 图片路径
   * @return
   */
  public static String imageToBase64Str(String imgFile) {
    InputStream inputStream = null;
    byte[] data = null;
    try {
      inputStream = new FileInputStream(imgFile);
      data = new byte[inputStream.available()];
      inputStream.read(data);
      inputStream.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
    // 加密
    BASE64Encoder encoder = new BASE64Encoder();
    return encoder.encode(data);
  }

3. 测试:

public static void main(String[] args) {
    String base64Str = imageToBase64Str("D:/pic/001.jpg");
    System.out.println(base64Str);

    boolean b = base64StrToImage(base64Str, "D:/pic/temp/002.jpg");
    System.out.println(b);
  }

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

02-03 13:45
查看更多