关于JAVA11中图片与BASE64相互转换的实现

由于jdk 1.8 之后sun.misc 包下的 BASE64Decode的依赖 被移除

我们需要在自己的项目中引入EncodeUtils 工具类 帮助我们进行转换

public class EncodeUtils {

	private static final String DEFAULT_URL_ENCODING = "UTF-8";

	 /**
	  * Base64编码.
	  */
	public static String base64Encode(byte[] input) {
	     return new String(Base64.encodeBase64(input));
	}

	/**
	 * Base64解码.
	 */
	public static byte[] base64Decode(String input) {
	  return Base64.decodeBase64(input);
	}
}

在项目中测试

直接调用工具类中的方法即可

	/***
     * <p>
     * description: base64字符串转图片
     * <p>
     * @see
     */
    static void base64StringToImage(String base64String) {
        try {
            byte[] bytes1 = EncodeUtils.base64Decode(base64String);
            ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);
            BufferedImage bi1 = ImageIO.read(bais);
            File f1 = new File("F:/wpcache/test/test.jpg");
            ImageIO.write(bi1, "jpg", f1);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

	/***
     * <p>
     * description:图片转base64字符串:
     * <p>
     * @see
     */
    public static String getImgStr(String imgFile) {
        // 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
        InputStream in = null;
        byte[] data = null;
        // 读取图片字节数组
        try {
            in = new FileInputStream(imgFile);
            data = new byte[in.available()];
            in.read(data);
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return EncodeUtils.base64Encode(data);
    }

在main方法中运行

	public static void main(String[] args) {
        String base64Str = getImgStr("F:/wpcache/2.jpg");
        System.out.println(base64Str);
        base64StringToImage(base64Str);
    }

运行结果

图片转BASE64 效果图

BASE64 转图片 效果图

(注:这个生成的图片路径就是自己在base64StringToImage 方法中的路径)

到此这篇关于关于JAVA11中图片与BASE64相互转换的实现的文章就介绍到这了,更多相关JAVA11图片与BASE64相互转换内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java 处理图片与base64 编码的相互转换的示例

    今天项目优化了一下上传头像的功能.采用 imagecropper 插件完成裁剪图片的效果. 这个插件裁剪完的图片都是 base64 加密的字符串,上传头像也就涉及到了如何把加密的字符串转换成图片的问题. 以下是代码: /** * @Description: 将base64编码字符串转换为图片 * @Author: * @CreateTime: * @param imgStr base64编码字符串 * @param path 图片路径-具体到文件 * @return */ public stat

  • 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; BASE64Dec

  • Java实现图片与Base64编码互转

    淘宝里面的html用base64转换图片,不知道为什么,不过看起来好像很美好,话不多说,直接上代码: import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import sun.misc.BASE64Decoder; import sun.misc.BA

  • Java处理图片实现base64编码转换

    前言 环境:使用这个代码前:请确保你的JDk是JAVA8及其以上 开发测试地址:http://imgbase64.duoshitong.com/ 可以查看是否执行成功 注意事项 一般插件返回的base64编码的字符串都是有一个前缀的."data:image/jpeg;base64," 解码之前这个得去掉. Code MainTest /** * 示例 * @throws UnsupportedEncodingException * @throws FileNotFoundExcepti

  • Java基于Base64实现编码解码图片文件

    BASE64 编码是一种常用的字符编码,在很多地方都会用到.但base64不是安全领域下的加密解密算法.能起到安全作用的效果很差,而且很容易破解,他核心作用应该是传输数据的正确性,有些网关或系统只能使用ASCII字符.Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法,而且base64特别适合在http,mime协议下快速传输数据. 1.编码与解码代码如下所示: import java.awt.image.BufferedImage; import java.io.Byt

  • Java实现base64图片编码数据转换为本地图片的方法

    本文实例讲述了Java实现base64图片编码数据转换为本地图片的方法.分享给大家供大家参考,具体如下: 项目中用到的把base64图片数据转为本地图片的函数 /** * 替换html中的base64图片数据为实际图片 * @param html * @param fileRoot 本地路径 * @param serRoot 服务器路径 * @return */ public static String replaceBase64Image(String html,String fileRoot

  • java将图片转为base64返回给前端

    本文实例为大家分享了java将图片转为base64返回给前端的具体代码,供大家参考,具体内容如下 一.controller端代码 @RequestMapping(value = "/captcha") public void imagecode(HttpServletRequest request, HttpServletResponse response) throws Exception { JSONObject object = new JSONObject(); Captcha

  • java 图片与base64相互转化的示例

    需要导入: import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.UUID; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; /** * 图片转

  • 关于JAVA11中图片与BASE64相互转换的实现

    由于jdk 1.8 之后sun.misc 包下的 BASE64Decode的依赖 被移除 我们需要在自己的项目中引入EncodeUtils 工具类 帮助我们进行转换 public class EncodeUtils { private static final String DEFAULT_URL_ENCODING = "UTF-8"; /** * Base64编码. */ public static String base64Encode(byte[] input) { return

  • Struts2中图片以base64方式上传至数据库

    1.页面 这里输入代码 <div> <span id="uploadImg" style="margin:50px;background-color:#ddd;display:inline-block;height:130px;width:200px;"> <span style="color:#bbb;font-weight:600;border:2px #ccc dashed;font-size:20px;text-ali

  • python PIL/cv2/base64相互转换实例

    PIL和cv2是python中两个常用的图像处理库,PIL一般是anaconda自带的,cv2是opencv的python版本.base64在网络传输图片的时候经常用到. ##PIL读取.保存图片方法 from PIL import Image img = Image.open(img_path) img.save(img_path2) ##cv2读取.保存图片方法 import cv2 img = cv2.imread(img_path) cv2.imwrite(img_path2, img)

  • C#中图片、二进制与字符串的相互转换方法

    本文实例讲述了C#中图片.二进制与字符串的相互转换方法.分享给大家供大家参考,具体如下: protected void Button1_Click(object sender, EventArgs e) { //图片转二进制 byte[] imageByte = GetPictureData(Server.MapPath("./uploadfile/111.png")); //二进制转换成字符串 string picStr = Convert.ToBase64String(imageB

  • android图片类型之间相互转换实现代码

    本文实例讲述了android图片类型之间相互转换实现代码.分享给大家供大家参考.具体如下: android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下: 1.Drawable → Bitmap Java代码如下: public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = Bitmap .createBitmap( drawable.getIntrinsicWidth(), drawab

  • php实现图片以base64显示的方法

    本文实例讲述了php实现图片以base64显示的方法.分享给大家供大家参考,具体如下: 这里实现图片以字符串形式保存到网页,从而不需要再加载图片的功能. 这是在RFC2397中定义的Data URI scheme,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入,比如上面那串字符,其实是一张图片,将这些字符复制黏贴到火狐的地址栏中并转到,就能看到了. 在上面的Data URI中,data表示取得数据的协定名称,image/jpeg是数据类型名称,base64是数据的编码方法,逗号

  • C#实现字符串与图片的Base64编码转换操作示例

    本文实例讲述了C#实现字符串与图片的Base64编码转换操作.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Drawing

  • 详解网站中图片日常使用以及优化手法

    前言: 最近新到一个团队,才意识到基础的薄弱,牛人遍地,还是好好学习,天天向上. 一直都觉得网站优化的重点是图片,图片的使用也是博大精深.有必要总结一下图片的日常使用以及优化手法- 总的来说,图片的使用分为background和img两种,而优化方向来说分为减少请求,减少大小和清晰度 三个方面 一. background和img的区别: 日常开发中使用的场景区别: img是内容部分的东西,background-image是修饰性的东西. 加载方式的区别: 在网页加载的过程中,以css背景图存在的

  • Android图片的Base64编码与解码及解码Base64图片方法

    Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法. Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息.例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表

随机推荐