Ver Mensaje Individual
  #1  
Antiguo 14-02-2007
david.rguez david.rguez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Zamora, la bien cercada
Posts: 104
Reputación: 18
david.rguez Va por buen camino
Cargar imágenes desde JAVA en MySQL

En una parte de mi aplicación, el usuario debe poder adjuntar una pequeña imagen a un registro de la base de datos, en un campo blob.

El caso es que hasta llegar al SQL todo va bien, utilizo FormFile para cargar la imagen desde el cliente y le paso el byte[] extraído mediante el método getFileData() y lo guarda bien en la variable (al menos, el tamaño es idéntico al de la imagen original); pero al ir a guardarlo en la BBDD, no lo hace, sino que ese campo blob se queda como null.

Esta es la parte del código que se encarga de almacenarlo:

Código PHP:

consulta 
"UPDATE proyectos SET titulo=?,resumen=?,cod_categoria=?,bibliografia=?, claves=?";

// Si tenemos imagen y no debíamos eliminarla...
if ((!eliminaImagen) && (imagen != null))
        
consulta consulta ", imagen=?";

consulta consulta " WHERE cod_proyecto=? AND validado = ? AND desactivado = ?";
            
if (
cod_tipo != 1)
        
consulta consulta " AND cerrado = ?";
 
stmnP2 conn.prepareStatement(consulta);
// Asignación de parámetros
stmnP2.setString(1,titulo);
stmnP2.setString(2,resumen);
stmnP2.setInt(3,cod_categoria);
stmnP2.setString(4,bibliografia);
stmnP2.setString(5,claves);
if ((!
eliminaImagen) && (imagen != null)){
       
stmnP2.setBytes(6,imagen);
       
stmnP2.setInt(7,cod_proyecto);
       
stmnP2.setString(8,"S");
       
stmnP2.setString(9,"N");
       if (
cod_tipo != 1)
             
stmnP2.setString(10,"S");
}
else {
              
stmnP2.setInt(6,cod_proyecto);
              
stmnP2.setString(7,"S");
              
stmnP2.setString(8,"N");
                if (
cod_tipo != 1)
                    
stmnP2.setString(9,"N");
}

// Ejecución de la consulta
resultadoP2 stmnP2.executeUpdate(); 
He ido paso por paso ejecutando el programa y en ningún momento se pierde el valor de la variable "imagen", y el resultado del UPDATE no marca ningún error y tampoco se lanzan excepciones.

¿Alguien sabría decirme por qué no se almacenan?
Responder Con Cita