To get the image type from an array of bytes , you can do something like:
byte[] picture = new byte[30]; ImageInputStream iis = ImageIO.createImageInputStream(new ByteArrayInputStream(picture)); Iterator<ImageReader> readers = ImageIO.getImageReaders(iis); while (readers.hasNext()) { ImageReader read = readers.next(); System.out.println("format name = " + read.getFormatName()); }
Here is the result that I have for different files:
format name = png format name = JPEG format name = gif
It was inspired by:
Convert byte array to image in Java - not knowing type
adou600
source share