Foros del Web » Programación para mayores de 30 ;) » Java »

Guardar Imagen Binaria

Estas en el tema de Guardar Imagen Binaria en el foro de Java en Foros del Web. Hola a todos tengo una aplicacion java q a traves de filechooser me saca la ruta de una imagen y lo muestro en un JPanel ...
  #1 (permalink)  
Antiguo 02/03/2009, 14:32
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Guardar Imagen Binaria

Hola a todos tengo una aplicacion java q a traves de filechooser me saca la ruta de una imagen y lo muestro en un JPanel hasta ahi todo bien lo q quiero realizar es convertir dicha imagen en binario para poder guardarlo en mi BD de SQL SERVER y a la vez poder recuperarlo y mostrarlo en mi JPanel.
Mi Consulta es si concocen un metodo para convertir dicha imagen en binaria o algun ejemplo les agradesco de antemano
  #2 (permalink)  
Antiguo 03/03/2009, 07:27
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Guardar Imagen Binaria

Acaso no hay nadie q sepa
  #3 (permalink)  
Antiguo 03/03/2009, 08:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 3
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Guardar Imagen Binaria

Tengo algo similar pero con un JButon o lo que necitas hacer es crearte una variable de tipo imagen. para poder manipularla tanto en el JPanel como en las sentencias SQL....
Te pongo mi un ejemplo...

public boolean addImagenEmpleado(Image img,int numemp,String dir_f)
{
try
{
File f=new File("./data/personal/tmp.mmm");
try{
BufferedImage imgb= new BufferedImage(img.getWidth(null) , img.getHeight(null) , BufferedImage.TYPE_INT_ARGB );
imgb.getGraphics().drawImage(img,0,0,null);

ImageIO.write(imgb, "jpg",f);
}catch(IOException er){System.out.print("\n no se pudo grabar la imagen");};
ResultSet rs=st1.executeQuery("SELECT num_t FROM imagen WHERE num_t="+numemp);


FileInputStream simg =new FileInputStream("./data/personal/tmp.mmm");


if(rs.next())
{
if(rs.getString(1).equals(String.valueOf(numemp)))
{
PreparedStatement ps= con1.prepareStatement("UPDATE imagen SET ima_t = ? , dir_file = ? WHERE num_t = ?" );
System.out.println("El trabajador modificado es "+numemp);
ps.setBinaryStream(1,simg,(int)f.length());
ps.setString(2,dir_f);
ps.setString(3,String.valueOf(numemp));
ps.execute();
System.out.print("Ejecutando");
}
}
else
{
PreparedStatement ps= con1.prepareStatement("INSERT INTO imagen (num_t,ima_t, dir_file) VALUES (?,?,?)" );
ps.setString(1,String.valueOf(numemp));
System.out.print("Agrego el numero");
ps.setBinaryStream(2,simg,(int)f.length());
ps.setString(3,dir_f);

System.out.print("Agrego la imagen");
ps.execute();
System.out.print("Ejecutando");
}


}catch(SQLException e){System.out.println("Error(Envio de Imagen): "+e.toString());}
catch(FileNotFoundException e){System.out.println("Error(Ficehro): "+e.toString());}

return false;
}



y la funcion para recuperarla es

public Image showIma(int id)
{
try
{
ResultSet rs=st1.executeQuery("SELECT ima_t FROM imagen WHERE num_t = "+id );
if(rs.next())
{
ImageIcon im =new ImageIcon(rs.getBytes(1)); //secrea un icon imagen.. que es capaz de generar una imagen.
return(im.getImage()); //se genera la imagen a travez de el icon imagen y se guarda en el componente o bien se puede retornar para que se pueda utilizar por cualquier otro componente
}
}catch(SQLException e){System.out.println("\nError (getPasswordEmpleado): "+e.toString()+"\n");}
return(null);
}

Última edición por NightWarriorMx; 03/03/2009 a las 08:51
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:55.