当前位置:首页 > 未分类 > 正文内容

java图片转base64

关中浪子3年前 (2021-11-09)未分类999
【腾讯云】2核2G4M云服务器新老同享99元/年,续费同价
找梯子最重要的就是稳定,这个已经上线三年了,一直稳定没有被封过,赶紧下载备用吧!
package org.jeecg.common.util;
 
import org.apache.commons.codec.binary.Base64;
import sun.misc.BASE64Decoder;
 
import java.io.*;
 
public class ImgBase64 {
    /**
     * 将图片转换成Base64编码
     * @param imgFile 待处理图片
     * @return
     */
    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 Base64.encodeBase64String(data);
    }
 
    /**
     * 对字节数组字符串进行Base64解码并生成图片
     * @param imgStr 图片数据
     * @param imgFilePath 保存图片全路径地址
     * @return
     */
    public static boolean generateImage(String imgStr, String imgFilePath) {
        //
        if (imgStr == null) // 图像数据为空
            return false;
        BASE64Decoder decoder = new BASE64Decoder();
        try {
            // Base64解码
            byte[] b = decoder.decodeBuffer(imgStr);
            for (int i = 0; i < b.length; ++i) {
                if (b[i] < 0) {// 调整异常数据
                    b[i] += 256;
                }
            }
            // 生成jpg图片
            OutputStream out = new FileOutputStream(imgFilePath);
            out.write(b);
            out.flush();
            out.close();
            return true;
        } catch (Exception e) {
            return false;
        }
    }
}

  调用:



String url= "D:\\1.jpg";// 待处理的图片
String imgbese = getImgStr(url);
String img_path="data:image/jpeg;base64,"+imgbese ;
 
String url= "D:\\1.jpg";// 新生成的图片
generateImage(imgbese, url);

  jar包:


<dependency>
   <groupId>commons-codec</groupId>
   <artifactId>commons-codec</artifactId>
   <version>1.13</version>
</dependency>


扫描二维码推送至手机访问。

版权声明:本文由码农翻生发布,如需转载请注明出处。

本文链接:https://lubojian.cn/post/59.html

分享给朋友:

相关文章

htmlunit JS 读取错误解决方法

进行各种各样的网页爬虫过程中,有些网页直接httpclient拿过来就能用,但是有些网站是需要等待js加载样式或者某些值的,使用httpclient没办法设置js等待时间,然后再抓取值。htmlunit可以完美解决这个问题。但是在使用htm...

js 删除json对象某个键key

解决方法:假如json是一个对象,想移除其中的key名为keyname的键delete json['keyname'];delete json.keyname;...

(永久激活)最新navicat安装激活破解永久使用教程

(永久激活)最新navicat安装激活破解永久使用教程

这篇文章主要介绍了Navicat Premium永久破解激活教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下这里讲的是windows下的navicat 15最新激活破解教程,亲测有效...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。