公司项目(4):base64图片转换工具类(使用jdk1.8自带的base64)

本文介绍了如何利用Java 1.8自带的Base64工具类,实现图片与Base64字符串之间的转换。通过示例代码,详细展示了转换过程,适用于项目中处理Base64编码的图片需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Base64;
public class ImageUtils {

    private static Logger logger = LoggerFactory.getLogger(ImageUtils.class);

    /**
     * 将网络图片文件转化为字节数组字符串,并对其进行Base64编码处理
     *
     * @param imageUrl 图片的url路径,如http://.....xx.jpg
     * @return
     */
    public static String encodeUrlImageToBase64(URL imageUrl) {
        logger.info("imageUrl==" + imageUrl);
        ByteArrayOutputStream outputStream = null;
        try {
            BufferedImage bufferedImage = ImageIO.read(imageUrl);
            outputStream = new ByteArrayOutputStream();
            ImageIO.write(bufferedImage, "jpg", outputStream);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
       
        return Base64.getEncoder().encodeToString(outputStream.toByteArray());
    }

    /**
     * 将本地图片文件转化为字节数组字符串,并对其进行Base64编码处理
     *
     * @param imageFile
     * @return
     */
    public static String encodeFileImageToBase64(File imageFile) {
        
        ByteArrayOutputStream outputStream = null;
        try {
            BufferedImage bufferedImage = ImageIO.read(imageFile);
            outputStream = new ByteArrayOutputStream();
            ImageIO.write(bufferedImage, "jpg", outputStream);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
       
        return Base64.getEncoder().encodeToString(outputStream.toByteArray());
    }

    /**
     * Base64位编码的图片进行解码,并保存到指定目录
     *
     * @param base64  base64编码的图片信息
     * @param path    指定目录
     * @param imgName 图片名称
     */
    public static void decodeBase64ToImage(String base64, String path, String imgName) {
       
        try {
            FileOutputStream write = new FileOutputStream(new File(path + imgName));
            byte[] decodeByte = Base64.getDecoder().decode(base64);
            write.write(decodeByte);
            write.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值