接收传来的一个图片base64编码,如何解码出他的后缀

细蚊仔喔 发布于 03/26 12:00
阅读 187
收藏 0

接收传来的一个图片base64编码,如何解码出他的后缀。工具语言Java。跪求大家回答,谢谢大家!!!!

加载中
0
h
haidiii
/**
 * 获取图片类型
 * 
 * @param buf 二进制图片
 * @return 图片类型
 */
public static String getFormatName(byte[] buf) throws IOException {
    InputStream imageStream = new ByteArrayInputStream(buf);

    try (ImageInputStream imageInputStream = ImageIO.createImageInputStream(imageStream)) {
        Iterator<ImageReader> imageReadersList = ImageIO.getImageReaders(imageInputStream);
        if (imageReadersList.hasNext()) {
            ImageReader reader = imageReadersList.next();
            return reader.getFormatName();
        }
    }
    return null;
}
0
Kit_lee
Kit_lee

java原生的api就可以,java.net.URLConnection.guessContentTypeFromStream(inputStream)

你可以返回得contentType,可以区别gif, jpeg, bmp, png

你将base64字符串转byte[]再转成ByteArrayInputStream,调上边那个方法。返回内容详细你看看源码

返回顶部
顶部