Problema al ver Imagenes de items (Anexo) en SBS (SOLUCIONADO)

Buenas tardes

Antes de consultar estuve buscando en el foro y mi problema es similar a este topic http://foro.comunidad.siu.edu.ar/index.php?topic=9058.msg39122

En el server de Desarrollo cuando creo una SBS, y en los items agrego imágenes no las estoy pudiendo ver (ni en la previsualizacion ni en la opcion de ver anexo)

Caracteristicas de ambos servers:
Debian 8
Diaguita 2.3.4
Apache 2.4
PHP 5.4

La Configuración de SIU-Diaguita muestra bien el chequeo de dependencias y librerías requeridas por lo que tambien descartamos esto.

Lo llamativo es que en producción (misma conf) funciona ok

El error que tengo al ir a “Ver anexo” es net.sf.jasperreports.engine.JRException: Image read failed.

Si subo la imagen por atrás directamente con WinSCP y la piso en /usr/local/siu/diaguita/aplicacion/www/temp ahí si la puedo ver ok desde Diaguita.

el problema debe estar en el formulario o algun parametro del PHP, ya que está subiendo “basura” y no la imagen real. Los parámetros de max_file estan ok y ademas los logs de toba (adjunto) no veo errores de esta indole.

¿Tendrian idea que puede estar sucediendo?


1.jpg

1.png

2.jpg

2.png

3.jpg

3.png

Hola Pablo deberías chequear si el directorio /usr/local/siu/diaguita/aplicacion/www/temp tiene permisos de lectura y escritura para el usuario www-data.

Diego

gracias por la rápida respuesta.

No tenia los permisos en dicha carpeta para el usuario de Apache, se los acabo de agregar pero continua el mismo inconveniente.

cualquier información que necesites avísame.


apache.jpg

apache.png

De nada Pablo tendrías que probar limpiando las cookies o desde una ventana de incógnito por que cachea los errores, si con eso sigue presistiendo el error veo como replicarlo en una instalación local.

Diego

Acabo de probarlo como incognito y ocurre lo mismo de los print que subi en el primer post.

quedo a tu disposicion para cualquier prueba

Hola Pablo!,

Continuando con la revisión de lo que puede ser, , te pido que ejecutes una consulta para verificar el tamaño de los adjuntos.


SELECT octet_length(imagen),nombre_imagen,id_item FROM diaguita.scp_items_solicitados; 

Con la función octet_length vas a poder ver el tamaño en bytes de los documentos y podrías contrastar con el documento original para saber si lo que se almaceno en la db es igual al documento.

De esta forma vamos a verificar si por lo menos en tu BD se estan guardando correctamente los documentos.

En la medida que vayas subiendo, anda comparando con esa query.

Seguimos en contacto!

Saludos,
Fernando.

Fernando

En la BD se guardan correctamente los archivos con el mismo tamaño, el problema es en Diaguita cuando se sube la imagen a: /usr/local/siu/diaguita/aplicacion/www/temp primero se guarda con otro nombre la imagen, algo asi como: “2f5af8a12925c24ff75618af318a6c06” (sin formato) y no está haciendo la conversion al nombre original “imagen.jpg” y ahi ya el peso es diferente. Si por ej agarro el archivo 2f5af8a12925c24ff75618af318a6c06 y lo paso a mi pc local con WinSCP y lo renombro a imagen.jpg ahi si lo puedo ver ok en mi PC.

Hola Pablo,

Ok, como se nos complica reproducir lo que comentas, porque en nuestras pc funciona correctamente, van otra tanda de preguntas a ver si detectamos que puede llegar a ser o por donde viene el inconveniente para intentar “Cercarlo” lo máximo posible

Van otras preguntas:

1- Les ocurre con absolutamente todas las imágenes que suben o sólo en algunas? (si pueden probar con distintas imagenes y externsiones de archivos ej png, jpg, etc)
2-Les ocurre sólo en esa operación de items de la SBS o en otras que también permiten cargar imágenes? ( items de Modelos de compras centralizadas, renglones, bienes patrimoniales)?
3-En otras operaciones donde pueden documentos adjuntos los crea correctamente y abre correctamente? (para saber si no tienen problemas al generar el archivo que en filesystem leyendo otra clase de archivos que también se almacenan en la BD)

Respecto a esto:

lgo asi como: "2f5af8a12925c24ff75618af318a6c06" (sin formato) y no está haciendo la conversion al nombre original "imagen.jpg" y ahi ya el peso es diferente. Si por ej agarro el archivo 2f5af8a12925c24ff75618af318a6c06 y lo paso a mi pc local con WinSCP y lo renombro a imagen.jpg ahi si lo puedo ver ok en mi PC.
No me quedó claro que decis que el peso es diferente, pero si renombras, ahi si ve la imagen. En que sentido el peso es distinto?, porque si fuera distinto debería estar corrupto y no debería poder abrirse

Cualquier otro indicio o información que nos pase se agradece, así vemos si podemos descubrir el problema comentanos.

Saludos!,
Fernando.

Hola Fernando

Te respondo las consultas que me hiciste

1- Les ocurre con absolutamente todas las imágenes que suben o sólo en algunas? (si pueden probar con distintas imagenes y externsiones de archivos ej png, jpg, etc)

Ocurre con todas las imágenes que fui subiendo y en diferentes extensiones.

2-Les ocurre sólo en esa operación de items de la SBS o en otras que también permiten cargar imágenes? ( items de Modelos de compras centralizadas, renglones, bienes patrimoniales)?

Hasta el momento solo había probado en items de la SBS, pero recién lo acabo de hacer por ej en Modelo Compra Centralizada y sucede lo mismo

3-En otras operaciones donde pueden documentos adjuntos los crea correctamente y abre correctamente? (para saber si no tienen problemas al generar el archivo que en filesystem leyendo otra clase de archivos que también se almacenan en la BD)

Otras operaciones con adjuntos (por ej formato .doc) los abre correctamente, el problema es solo con imagenes


Con respecto a lo que habia dicho “2f5af8a12925c24ff75618af318a6c06” (sin formato) y no está haciendo la conversion al nombre original “imagen.jpg” y ahi ya el peso es diferente. Si por ej agarro el archivo 2f5af8a12925c24ff75618af318a6c06 y lo paso a mi pc local con WinSCP y lo renombro a imagen.jpg ahi si lo puedo ver ok en mi PC."

Desestima eso.

Lo que me refiero es que cuand subo una imagen a Diaguita desde el formulario de SBS (a la carpeta temp) se guarda con el tamaño correcto (adjunto print de este paso) y si esa misma imagen que se subio a temp, me la bajo por winscp a mi pc no me la abre, está corrupta.

Lo que estoy viendo es que la version de php en produccion es 5.6 y en desarrollo 5.4 y podría llegar a ser un tema del encoding.

Edit: para explicar el tema de la subida te lo hago con un ej concreto:

  1. imagen.jpg —> peso original en mi PC —> 9.598 bytes
  2. Cuando subo imagen.jpg desde el formulario de Items en la SBS se guarda con el mismo tamaño ( 9.598 bytes) en la tabla scp_items_solicitados de la BD
  3. Cuando me fijo el tamaño de imagen.jpg dentro de /usr/local/siu/diaguita/aplicacion/www/temp ya es distinto y por lo general casi siempre es el doble (19.197 bytes en este caso) y ya la imagen está corrupta, por lo cual al momento de volver a bajarlo a mi PC no la puedo visualizar

Espero haberme explicado.

un saludo.


Sin tAtulo.jpg

Sin tAtulo.png

error.jpg

error.png

Hola Pablo, buenas tardes.

Si podés hacer esa prueba de pasarte a php 5.6 en tu instalación de desarrollo sería buenísimo. Tiene la apariencia de que podría llegar a tratarse de la versión de php. En nuestras instalaciones usamos php 5.6.

Si llegase a ser o no avisanos, así vamos viendo que puede ser.

Saludos.
Fernando

Fernando

Ahi descubri el problema y lo logré solucionar, estaba en la libreria pdo_pgsql

Desarrollo:
BD Postgres 9.1
pdo_pgsql
PDO Driver for PostgreSQL enabled
PostgreSQL(libpq) Version 8.4.22lts4

Produccion:
BD Postgres 9.4
pdo_pgsql
PDO Driver for PostgreSQL enabled
PostgreSQL(libpq) Version 9.4.9

En la conf de Postgres

bytea_output = ‘escape’ # hex, escape

por defecto venia hex

aca está:
http://linux.m2osw.com/postgresql-and-blobs-change-version-90-byteaoutput

Muchas gracias a todos por su ayuda