java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java图片base64字符串互转

java实现图片转base64字符串 java实现base64字符串转图片

作者:漂流的老妖怪

这篇文章主要为大家详细介绍了java实现图片转base64字符串,java实现base64字符串转图片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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);
 }

效果图:

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

您可能感兴趣的文章:
阅读全文