java图片转换成base64

有时候不比避免了使用了一些侵权图片,避免被AI图像识别,可把图片转成base64加载,在经过一些其它的处理,能相对比较有效的减少这类问题。
利用java把图片转成base64的代码片段为:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.util.Base64;
import java.util.Base64.Encoder;

/**
 * 利用Java把图片转成base64
 * @author ciika.com
 */
public class Image2Base64 {
    
    
    public static String getImageBase64String(String imgFile) throws IOException {
        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();
        }
        Encoder encoder = Base64.getEncoder();
        //图片转成base64后一定要加上头部的信息,不然前端Html里面没办法使用
        return String.format("data:%s;base64,%s",appendHead(imgFile),encoder.encodeToString(data));
    }
    /**
     * 根据文件内容获取文件类型
     * @param path 图片地址
     * @return 前缀
     * @throws IOException
     */
    private static String appendHead(String path) throws IOException {
        return Files.probeContentType(new File(path).toPath());
    }
}

标签: none

添加新评论