Отобразить байтовый массив как изображение в JasperReport

У меня есть изображение, сохраненное какbyte[] и я хотел бы отобразить его как изображение в JasperReport. Я попытался получить данные из методов Java:

public InputStream getImage(){
  return new ByteArrayInputStream(getImageByteArray());
}

а также

public Image getImage() throws IOException{
    return ImageIO.read(new ByteArrayInputStream(getImageByteArray()));
}

а также

public String getImage(){
  return new String((new org.apache.commons.codec.binary.Base64()).encode(getImageByteArray()));
}

но никто из них, кажется, не работает.

Jrxml выглядит так:

<image hAlign="Center" vAlign="Middle" isUsingCache="true" isLazy="true">
   <reportElement positionType="Float" x="0" y="0" width="164" height="32" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="c63c84a8-41c7-4ca3-8451-751d43fa8a9e"/>
   <imageExpression><![CDATA[$P{paramObject}.getImage()]]></imageExpression>
</image>

Некоторые из вещей, которые я пытаюсь получить, получают исключения, а некоторые печатают JasperReport, но область, где должно быть изображение, пуста. Я знаю, что данные изображения есть, потому что я могу отобразить их на странице JSF. Данные изображения являются данными SVG.

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

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