Java Image Encoding Detection

I accept the image as input from the user. I want to allow only JPEG image. The image comes as an InputStream (called myInputStreambelow). In the code below, the Iterator returned ImageIO.getImageReaders()is always empty.

ImageInputStream imageInputStream = ImageIO.createImageInputStream(
    myInputStream);
Iterator<ImageReader> iter = ImageIO.getImageReaders(imageInputStream);
if (!iter.hasNext()) {
    // this always happens
}
ImageReader reader = (ImageReader) iter.next();
if (!reader.getFormatName().equals("jpeg")) {
    // haven't got this far yet
}

I also tried passing myInputStreamdirectly on ImageIO.getImageReaders()with the same result.

+3
source share
1 answer

, ImageIO . , , .

+4

Source: https://habr.com/ru/post/1782081/


All Articles