使用Html5绘制图表,前端返回的是Base64字符串,如果想在后台将Base64字符串转换为图片,保存在本地,在Java中经常需要做如下处理,下文介绍了Base64字符串与图片的相互转换过程。

具体Java代码如下:

/**
 * 
 * @site -https://www.4spaces.org/
 * @author michael
 * 
 */
public class Base64StringToImage {
    public static void main(String[] args) {
        String imgStr = "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pdC2ybM3EKx4C7xvK7c5yuc9q6F9L1Cz0uy0vw5e2dhHaRCD99ZtMPLWIqgQLIm0hth53AhSuBkMurRQB5J4S+DXiyx8NeIPCPjrxroOu2XiW0ni1C8sPD89jqN1cSrsNxLPJezq5C8KgjVVAULtVQtb/hHwB4n8P3epeINX8XafqviHU0srR7xdIeC3SytmbbEIfPZvMYSSkyeZje4Ozauw95RQB5TZ/s7+E9H+I2k/EHw/rPiGxbTItS3WL67qFzC8946O0ipNcNFGoZXYxiMozMpIyi1s+GPh74ms/GEfjPxr41ttdvLHTpdK0/7LpP2DFvJJG7tcYlkE0pMSfMgiQfNiMZ472igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/2Q==";
        generateImage(imgStr, "D:\\wangyc.jpg"); //
        System.out.println(getImageStr("d:\\wangyc.jpg"));
    }

    /**
     * 将图片转换为Base64类型字符串
     * 
     * @param imgFilePath
     * @return
     */
    public static String getImageStr(String imgFilePath) {
        byte[] data = null;
        try {
            InputStream in = new FileInputStream(imgFilePath);
            data = new byte[in.available()];
            in.read(data);
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        BASE64Encoder encoder = new BASE64Encoder();
        return encoder.encode(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 {
            byte[] bytes = decoder.decodeBuffer(imgStr);
            for (int i = 0; i < bytes.length; ++i) {
                if (bytes[i] < 0) {
                    bytes[i] += 256;
                }
            }
            OutputStream out = new FileOutputStream(imgFilePath);
            out.write(bytes);
            out.flush();
            out.close();
            return true;
        } catch (Exception e) {
            return false;
        }
    }