java Base64 To Img 转换

==========

===========

package com.proli.util;

import com.sun.org.apache.xml.internal.security.exceptions.Base64DecodingException;
import com.sun.org.apache.xml.internal.security.utils.Base64;
import com.sun.xml.internal.messaging.saaj.util.ByteInputStream;
import org.springframework.util.Base64Utils;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.UUID;

public class Base64AndImg {



    static String base64Str = "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcU\n" +
            "FhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgo\n" +
            "KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAeAFoDASIA\n" +
            "AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\n" +
            "AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\n" +
            "ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\n" +
            "p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\n" +
            "AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\n" +
            "BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\n" +
            "U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\n" +
            "uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0HTNP\n" +
            "s3020Z7S3ZmhQkmNSSdo9qtf2bY/8+Vt/wB+l/wrD1vxDF4X8GHVLqB5ILaxEm4EBTJhFSM4ywLs\n" +
            "wAIUgYJJHGfLdU+LniSwtLTVk/4Q+802fbM9lbXxa7gjYriNwWB8zDYJVGAKkkACgD27+zbH/nyt\n" +
            "v+/S/wCFU7qDT9M0y7vdUhshBbLJPJIltgJEuW+78xJCgZx1IJAGcB1nfRX+h2Eq6iivqMC+RcxI\n" +
            "IjIzRlw0aSbsHALBW3YA5zg1j+L/AIfeHPF15Fea3ZvLdxqkaypO6Hy1ctswDjBywJxnDHBBwQAb\n" +
            "dzothMjlbW3hnMbRpcJBGXj3YyV3KR1AOCCMgZBp8GkafAhRLSEgsz/Ou85Zix5OTjJ4HQDAGAAK\n" +
            "8B+B/gPw/wCJ/BGoX+q6Ul9qEV5JFD5l1LCpAijZVJQ8DLHnaTz36V9CTJdG7tmgmgS1Xd58bwln\n" +
            "fj5drBgFweuVbPt1oA5rw62j3usapp0VuyahpTLFepPbQA3BdFMdwWRcElUOMFcAkFRhcP1nUbHT\n" +
            "fFnhzRP7Itpf7Y+0/vsKvk+VGH+7t+bOcdRj3rzXx/rd74c+IXifT9FR49S8SadaJbNI2Ge58wQL\n" +
            "5TKw2ARtIcvg70z0xk+H+p3viH4haDpGr3Dzap4Qgv1u7pvnF05kEAVTwcBSp3tyxByP4iAezNaa\n" +
            "YtwkDW9kJ3VnWMou5lUgMQOpALLk9tw9aJbGzR4VXTYZA7bWZY0xGNpO5s4OMgDjJyw4xkiHUNDs\n" +
            "r3TtZs2V4k1ZXW6eNvmJaJYiwzkA7FUdMcZx1ry/wf8AEqLSfAngiC7tkmnuVEE7pII47K1jm+zi\n" +
            "eUnJAzt64UndyMAUAerXFnp9vbyzSWMJSNS7CO33sQBnhVBLH2AJPauB1NVTUrtUUKqzOAAMADca\n" +
            "ufDH/TvEPjvWZvlupdYbT2VeEEdsgRCB13EMc849AKq6t/yFb3/rs/8A6EaANzWvDtl4u8GXmlSF\n" +
            "7WW4toIHulhw2UCyx8kDegLdjjlwCDnHA+HPCPiDS7NdFv8AwH4S1OeJSkOtymJYiNmV8xPLMjkH\n" +
            "5ScKT37ue+fxhp+k6E01zDdMtnbb5BGqkkIuTjLD0q1P4k0y4QJPazSoGVwrxqwDKwZTyeoIBB7E\n" +
            "A0AbGjQS22j2MFzFawzxQRpJHaKVhRgoBEYPIQHoPTFWLeNoreKOSZ53RQrSyBQzkD7x2gDJ68AD\n" +
            "0ArD/wCErsf+eVz/AN8r/jUcviXT5Hhdo70GJt67TtBO0r8wDYYYY8HIzg9QCADh/wBnvRNTsPBt\n" +
            "zb6ta3VgP7ReUwzxSQSuQsBRgcg7MqwIwQ2cHgEH1i4giubeWC5iSaCVSkkcihldSMEEHggjtXHy\n" +
            "+PdMfUIbdV1GN0vPszBY49sjfZzLhsknbgg5GDuUds50LfxPZxW8Ucn22d0UK0siIGcgfeO3Ayev\n" +
            "AA9AKALGq+HotR8U6FrUs7o+krcCOJQMO0qquWPoAG4HUkc8YNOPwra2Pjq98WW6zyXl5axWckEZ\n" +
            "GD86hpSWPZVj4GOEbhmYCjUfG2nWGn3N5NBdtFbxNKwVFJIUEnHzdeKB4mge0hSaS5W4XYZJYIUU\n" +
            "OQQWAVmbCtgjGSQDwc4NAHUV4foPw7e60fxrb3FhOP3s2j6NBMGiEFuJzMkm8kGSPzHVyTuOIyBu\n" +
            "ztr1D/hK7H/nlc/98r/jUdv4k0y2t4oLa1mhgiUJHHHGqqigYAABwAB2oAy/g3ZXVr4IiudVtp7f\n" +
            "V9Quri8vhPGY3eZpWG4ocbcqqcAAd8c1m6t/yFb3/rs//oRrqv8AhK7H/nlc/wDfK/41yN9Ks97c\n" +
            "TICFkkZwD1wTmgD/2Q==";


    public  static void  base64ToImg(String base64Str, String filePath, String fileName) throws IOException, Base64DecodingException {

        byte[] decode = Base64.decode(base64Str);
        BufferedImage read = ImageIO.read(new ByteInputStream(decode, decode.length));
        if (fileName == null) {
            fileName = UUID.randomUUID().toString().replaceAll("-", "") + ".jpg";
        }
        File file = new File(filePath + fileName);

        ImageIO.write(read, "JPG",file);


    }

    public static String imgToBase64(File imgFile) throws IOException {
        BufferedImage read = ImageIO.read(imgFile);
        return imgBufferedToBase64String(read);

    }

    public static String imgToBase64(URL imgUrl) throws IOException {
        BufferedImage read = ImageIO.read(imgUrl);
        return imgBufferedToBase64String(read);

    }


    public static String imgBufferedToBase64String(BufferedImage bufferedImage) throws IOException {
        ByteArrayOutputStream  byteArrayOutputStream = new ByteArrayOutputStream();
        ImageIO.write(bufferedImage, "jpg", byteArrayOutputStream);
        byte[] bytes = byteArrayOutputStream.toByteArray();
        return Base64Utils.encodeToString(bytes);

    }


    public static void main(String[] args) throws IOException, Base64DecodingException {

        //base64ToImg(base64Str,"F:\\","123.jpg");

        //File file = new File ("F:\\123.jpg");
        URL imgUrl = new URL("http://iir.circ.gov.cn/web/servlet/ValidateCode?time=123");
        String base64Str = imgToBase64(imgUrl);
        base64ToImg(base64Str,"F:\\",null);


    }
}

 

posted @ 2017-12-21 15:32  Proli  阅读(721)  评论(0编辑  收藏  举报