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

 更新时间:2018年02月01日 10:07:37   作者:漂流的老妖怪  
这篇文章主要为大家详细介绍了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);
 }

效果图:

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

相关文章

  • 一分钟掌握Java ElasticJob分布式定时任务

    一分钟掌握Java ElasticJob分布式定时任务

    ElasticJob 是面向互联网生态和海量任务的分布式调度解决方案,本文主要通过简单的示例带大家深入了解ElasticJob分布式定时任务的相关知识,需要的可以参考一下
    2023-05-05
  • Java实现部门员工管理

    Java实现部门员工管理

    这篇文章主要为大家详细介绍了Java实现部门员工管理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • Java查看线程运行状态的方法详解

    Java查看线程运行状态的方法详解

    这篇文章主要为大家详细介绍了Java语言如何查看线程运行状态的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-08-08
  • Spring中的@Transactional事务失效场景解读

    Spring中的@Transactional事务失效场景解读

    这篇文章主要介绍了Spring中的@Transactional事务失效场景解读,如果Transactional注解应用在非public 修饰的方法上,Transactional将会失效此方法会检查目标方法的修饰符是否为 public,不是 public则不会获取@Transactional 的属性配置信息,需要的朋友可以参考下
    2023-12-12
  • Java实现ATM取款机程序

    Java实现ATM取款机程序

    这篇文章主要为大家详细介绍了Java实现ATM取款机程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • java随机生成时间字符串的方法

    java随机生成时间字符串的方法

    这篇文章主要为大家详细介绍了java随机生成时间字符串的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Java中printStackTrace()用法示例

    Java中printStackTrace()用法示例

    这篇文章主要给大家介绍了关于Java中printStackTrace()用法的相关资料,printStackTrace()方法一般与抛出异常搭配使用,效果是打印出异常位置,需要的朋友可以参考下
    2024-05-05
  • MyBatis-Plus中通用枚举的实现

    MyBatis-Plus中通用枚举的实现

    表中的有些字段值是固定的此时我们可以使用MyBatis-Plus的通用枚举来实现,本文主要介绍了MyBatis-Plus中通用枚举的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • Java日常练习题,每天进步一点点(25)

    Java日常练习题,每天进步一点点(25)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07
  • Idea使用插件实现逆向工程搭建SpringBoot项目的图文教程

    Idea使用插件实现逆向工程搭建SpringBoot项目的图文教程

    这篇文章主要介绍了Idea使用插件实现逆向工程搭建SpringBoot项目,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06

最新评论