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

    /**
     * 将本地图片进行Base64位编码
     *
     * @param imageFile 图片的url路径,如F:/.....xx.jpg
     * @return
     */
    public static String encodeImgageToBase64File(File imageFile) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
        ByteArrayOutputStream outputStream = null;
        try {
            BufferedImage bufferedImage = ImageIO.read(imageFile);
            outputStream = new ByteArrayOutputStream();
            ImageIO.write(bufferedImage, "jpg", outputStream);
        } catch (MalformedURLException e1) {
            e1.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        // 对字节数组Base64编码
        BASE64Encoder encoder = new BASE64Encoder();
        return encoder.encode(outputStream.toByteArray());// 返回Base64编码过的字节数组字符串
    }


    /**
     * 将Base64位编码的图片进行解码,并保存到指定文件夹
     *
     * @param base64 base64编码的图片信息
     */
    public static void decodeBase64ToImage(String base64) {
        BASE64Decoder decoder = new BASE64Decoder();
        try {
            //FileOutputStream write = new FileOutputStream(new File(path + imgName));
            byte[] decoderBytes = decoder.decodeBuffer(base64);
            ByteArrayInputStream baos = new ByteArrayInputStream(decoderBytes);
            baos.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }

    }


    public static void main(String [] args){
          //URL url = null;
          //try {
          //    url = new URL("http:// 001_detail.png");
          //} catch (MalformedURLException e) {
          //    e.printStackTrace();
          //}
        File file = new File("C:\\\\Users\\\\Administrator\\\\Desktop\\\\contract\\\\Img.jpg");
        String encoderStr = Base64ImageUtils.encodeImgageToBase64File(file);
        System.out.println(encoderStr);
        Base64ImageUtils.decodeBase64ToImage(encoderStr);

    }

}