Java Base64工具类,提供常用(文件、图片、PDF、URL)转换方法,欢迎留言完善...(原创博文,欢迎转载)

原创博文,欢迎转载,转载时请务必附上博文链接,感谢您的尊重。

前言

通过本篇的学习,你将学会Base64在实战中的使用,此工具包提供了常用的方法,如下:

  1. text明文【转】Base64字符串;
  2. text的Base64字符串【转】明文;
  3. 文件(图片、pdf等)【转】Base64;
  4. Base64【转】文件(图片、pdf等);
  5. 将pdf的Base64编码格式【转为】img的Base64编码格式,只限最后一页的Base64编码;
  6. 将pdf的Base64编码格式【转为】img的Base64编码格式,并将所有页合成一张图片的Base64编码;
  7. ...

有关Base64编码(Encode)与解码(Decode)的基础知识,请请看我另一篇博文关于Base64编码(Encode)与解码(Decode)的几种方式,这里面有道道


一、所需的包

注意:java.util.Base64是JDK1.8中新增的类,所以它只支持JDK1.8及以后的版本,如果你的JDK版本低于1.8,请使用org.apache.commons.codec.binary.Base64.

下面的包,是用于Base64的pdf转img使用的,如果不需要要,可以不引用,并删掉对应的方法(前言中的5和6)。

    <dependency>
		<groupId>org.apache.pdfbox</groupId>
		<artifactId>fontbox</artifactId>
		<version>2.0.1</version>
	</dependency>
	<dependency>
		<groupId>org.apache.pdfbox</groupId>
		<artifactId>pdfbox</artifactId>
		<version>2.0.1</version>
	</dependency>

二、Base64Util

Base64Util类,代码如下(可以直接复制使用,直接运行main方法看效果):

import org.apache.commons.lang3.StringUtils;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.ImageIO;
import java.util.Base64;

public class Base64Utils {

    // Base64 编码与解码
    private static final Base64.Decoder DECODER_64 = Base64.getDecoder();
    private static final Base64.Encoder ENCODER_64 = Base64.getEncoder();

    // dpi越大转换后的图片越清晰,相对转换速度越慢
    private static final Integer DPI = 200;

    // 编码、解码格式
    private static final String CODE_FORMATE = "UTF-8";

    /**
     * 1. text明文 转 Base64字符串
     * @param text  明文
     * @return      Base64 字符串
     */
    public static String textToBase64Str(String text) {
        if (StringUtils.isBlank(text)) {
            return text;
        }
        String encodedToStr = null;
        try {
            encodedToStr = ENCODER_64.encodeToString(text.getBytes(CODE_FORMATE));
        } catch (UnsupportedEncodingException e) {
            e.getMessage();
        }
        return encodedToStr;
    }

    /**
  
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java Punk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值