Estimados, estamos haciendo el desarrollo de un sistema en el cual necesitamos guardar un archivo (PDF). En la pantalla de alta, el archivo se sube perfectamente y se guarda en la base como Blob.
Cuando vamos a cambiar ese archivo (modificación), nos sale el siguiente error:
Las columnas binarias o BLOB esperan un ‘resource’, producto generalmente de un ‘fopen’ del archivo a subir a la base
Lo más raro es que en desarrollo funciona bien pero en producción (linux) no.
Desarrollamos en Windows (donde funciona) y cuando subimos a producción no funciona esa parte. Ya cambiamos los permisos (los pusimos hasta 777) en las carpetas temp correspondiente.
Me estuve fijando en el foro y este error salía en versiones anteriores (estamos trabajando con la 2.3.5).
En la operacion estan utilizando objetos de persistencia o ustedes manualmente hacen las sentencias?.
En que version de Postgres estan trabajando?, difieren entre el entorno Windows y Linux?
Te consulto esto ultimo, porque los reportes que hemos tenido tienen que ver con el escapado de los BLOBs pero comenzo a pasar a partir de versiones especificas de postgres
No fue un tema de BLOB (en todos lados referían a ese inconveniente) sino a un problema de localización del recurso temporal que guarda el SO para el upload de archivos.
Como Windows no le da bolilla a las mayúsculas y minúsculas (y Linux si) en la búsqueda del temporal que se guarda en el upload fallaba en la copia puesto que el objeto tenía un tratamiento que hacía que todo el path se cambiara a mayúsculas.
En definitiva el problema del BLOB ocultó el verdadero problema.
Estamos usando Postgresql 8.4 y Toba 2.3.6. En ambas versiones (produccion y desarrollo) trabajamos con el mismo esquema.