首页 > 其他 > 详细

图片相互转换base64

时间:2021-03-17 10:01:37      阅读:17      评论:0      收藏:0      [点我收藏+]

图片相互转换base64

实例在唐山考勤系统人员管理控制类。goAdd1方法。

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

图片相互转换base64

原文:https://www.cnblogs.com/LeeJ0/p/14547362.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!