Конвертировать Data-URL в BufferedImage

У меня есть Data-URL из файла изображения, и я должен передать его другой функции. По этому пути от Data-URL к BufferedImage он должен быть байтовым массивом.

мой подход был следующим:

String dataUrl;
byte[] imageData = dataUrl.getBytes();

// pass the byteArray along the path

// create BufferedImage from byteArray
BufferedImage inputImage = ImageIO.read(new ByteArrayInputStream(imageData));

// If the picture is null, then throw an unsupported image exception.
if (inputImage == null) {
    throw new UnknownImageFormatException();
}

Проблема в том, что он всегда генерирует исключение UnknownImageFormatException, что означает, что inputImage имеет значение null, что означает, что ImageIO.read не распознал imagetype.I '

мы использовали ImageIO.getReaderFormatNames (), чтобы получить поддерживаемые имена файлов и получили следующий список:

Supported Formats: 
jpg, BMP, bmp, JPG, jpeg, wbmp, png, JPEG, PNG, WBMP, GIF, gif

DataURL, которые я пытаюсь передать, выглядят так:data:image/png;base64,... или жеdata:image/jpg;base64,...

Насколько я понимаю, они есть в списке поддерживаемых файлов и поэтому должны быть распознаны.

Что еще может привести к тому, что inputImage будет нулевым в этом случае? И еще интересно, как мне это решить?

Ответы на вопрос(2)

Ваш ответ на вопрос