base64格式图片转换成二进制流并生成图片文件

/**
 * 将base64格式的字符串转换成二进制流,并转换成图片
 */
public  boolean changeBase64ToImage(String base64String){
    //base64格式字符串为空,返回false
    if(base64String == null){
        return false;
    }
    BASE64Decoder decoder =new BASE64Decoder();
    try {
        //解码过程,即将base64字符串转换成二进制流
        byte[] imageByte=decoder.decodeBuffer(base64String);

        //生成图片路径和文件名
        String pathString ="F://base64图片.jpg";
        OutputStream out =new FileOutputStream(pathString);
        out.write(imageByte);
        /*
         * 使用流时,都会有一个缓冲区,按一种它认为比较高效的方法来发数据:
         * 把要发的数据先放到缓冲区,缓冲区放满以后再一次性发过去,而不是分开一次一次地发.
         * 而flush()表示强制将缓冲区中的数据发送出去,不必等到缓冲区满.
         * 所以如果在用流的时候,没有用flush()这个方法,很多情况下会出
         * 现流的另一边读不到数据的问题,特别是在数据特别小的情况下.
         */
        out.flush();
        out.close();
        return true;
    } catch (IOException e) {
        // TODO Auto-generated catch block
        return false;
    }
}
--------------------- 
作者:潋华清辉墨色成画 
来源:CSDN 
原文:https://blog.csdn.net/qq_34226413/article/details/76186607 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/pmdream/article/details/83895024