base64解码转图片为空 15C

我用cropbox裁剪完图片后得到base64的串
传到后台取解码发现IO写图片的时候报空异常, 请问这个怎么解决

下面放解码的方法

 static void base64StringToImage(String base64String){      
        try {      
            byte[] bytes1 = decoder.decodeBuffer(base64String);      

            ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);      
            BufferedImage bi1 =ImageIO.read(bais);      
            File w2 = new File("c://QQ.bmp");//可以是jpg,png,gif格式      
            ImageIO.write(bi1, "jpg", w2);//不管输出什么格式图片,此处不需改动      
        } catch (IOException e) {      
            e.printStackTrace();      
        }      
    }      

2个回答

你没有放出 decoder的具体解码方法;
可以debug一下看看 byte[] bytes1 = decoder.decodeBuffer(base64String); 这句之后
bytes1的内容是否正常,应该这里已经为空了
目测是decoder.decodeBuffer 这个方法的文档

elysion_k
elysion_k bytes1内容是16进制的值, 并不是空, 而是到了ImageIO.read(bais)这里返回的bi1为空
大约 4 年之前 回复

ImageIO是什么?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问