Cargar imágenes en reporte "convocatorias" (EN PROCESO)

Hola, tengo un problema para cargar imágenes con jasper en las convocatorias. Agregué el elemento “Image” desde la paleta (con el iReport Designer), y logré visualizarlas solamente agregandole la ruta, o sea si la imágen existe en el servidor en una ruta especifica de la siguiente manera:
.Cree un Parametro “PATH_DIR_TEMP” en el cual el atributo “Default value expression” tiene la ruta de la imagen, por ejemplo “/usr/local/siu/diaguita/aplicacion/www/temp” (ésta ruta no fue elegida al azar, sino que noté que en algún momento la imágen aparece ahi pero no siempre)
.Cree el “Field” “nombre_imagen” de la siguiente ruta “/convocatorias/convocatoria/renglones/registro” del XML
.Luego en las propiedades de la imágen, en “image expression” puse “$P{PATH_DIR_TEMP} + $F{nombre_imagen}”.
De esta manera logro que el reporte me muestre las imágenes que estan en esa ruta, pero la semana pasada vinieron a la Universidad de Quilmes 2 personas del diaguita y me dijeron que en realidad las imágenes no están en el servidor sino en la base de datos y nos mandaron una convocatoria de ejemplo. El problema es que de esa manera no logro que se muestren las imágenes, y si pruebo con el ejemplo que mandaron tampoco me funciona si pruebo con un xml que saco de producción. El de ejemplo está igual que lo tengo yo andando pero con las imágenes sacadas de una carpeta del servidor y no de la base de datos, en las propiedades de la imagen “image expression” tiene “$P{PATH_DIR_TEMP} + $F{nombre_imagen}” y la expression class es “java.lang.String”, el parametro “PATH_DIR_TEMP” esta vacío y el field “nombre_imagen” tiene como “Field Class” “java.lang.String”.
Yo probé sacando el parametro y modifiqué en las propiedades de la imágen el atributo “Expression Class” por “java.io.InputStream” (también hice eso en el field) pero sigo sin hacerlo funcionar.
Quisiera saber cual es la forma correcta de hacerlo ya que de la manera que lo hice yo con el path no funciona y nose como “sacarlo” de la base de datos.
Muchas gracias!
Leandro.

Hola Leandro!,

Te paso la secuencia de pasos para dejar funcionando las imágenes en el reporte de convocatoria:

Agregar en la propiedad Fields “PATH_DIR_TEMP” en el cual el atributo “Field Class” poner que es de tipo string “java.lang.String” y en el atributo “Description” dejalo con esta ruta “/convocatorias/datos_anexos/@PATH_DIR_TEMP”, este parámetro debe estar creado desde el Reporte-maestro o Reporte-principal y va a ser el encargado de pasarle la ruta de donde están las imágenes.

.Cree un Parametro "PATH_DIR_TEMP" en el cual el atributo "Default value expression" tiene la ruta de la imagen, por ejemplo "/usr/local/siu/diaguita/aplicacion/www/temp" (ésta ruta no fue elegida al azar, sino que noté que en algún momento la imágen aparece ahi pero no siempre)

En el Parametro “PATH_DIR_TEMP” en el cual el atributo “Default value expression” dejalo vacio y no como lo dejaste “/usr/local/siu/diaguita/aplicacion/www/temp”, este parámetro debe estar creado desde el Subreporte.

Cree el "Field" "nombre_imagen" de la siguiente ruta "/convocatorias/convocatoria/renglones/registro"
OK! NOTA: Esto también se define en el subreporte.
Luego en las propiedades de la imágen, en "image expression" puse "$P{PATH_DIR_TEMP} + $F{nombre_imagen}"
. OK! NOTA: Esto también se define en el subreporte.

De esta forma te debería quedar funcionando las imágenes.

Si se te complica, o no te funciona, pasanos tu personalización y te la ajustamos para que quede operativo, pero en principio no deberías tener problemas ;).

Saludos!,
Fernando.