Java - Ayuda, extraer una imagen guardada en mysql , mostrar en jlabel , mostrar ruta en jtextfiel .

   
Vista:

Ayuda, extraer una imagen guardada en mysql , mostrar en jlabel , mostrar ruta en jtextfiel .

Publicado por juan gabriel (8 intervenciones) el 08/02/2016 17:09:05
Hola Amigos, primero que todo muchas gracias por sus tiempo, ayudas y comentarios.

Aun con mi pequeña base de datos Mysql y Java (Netbeans), aqui me enseñaron a cargar una imagen desde un boton y colocar el icono en un jlabel y la ruta en un jtextfiel.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
private void btnselecionarActionPerformed(java.awt.event.ActionEvent evt) {
 
	JFileChooser archivo = new JFileChooser();
 
	archivo.setAcceptAllFileFilterUsed(false);
	FileFilter Filtro1 = new FileNameExtensionFilter("JPG file", "jpg");
	FileFilter Filtro2 = new FileNameExtensionFilter("PNG file", "png");
	archivo.setFileFilter(Filtro1);
	archivo.addChoosableFileFilter(Filtro2);
	archivo.setDialogTitle("Abrir Archivo");
	// File ruta = new File("");
	//  archivo.setCurrentDirectory(ruta);
 
	int ventana = archivo.showOpenDialog(null);
 
	if (ventana == JFileChooser.APPROVE_OPTION) {
 
		File file = archivo.getSelectedFile();
		t_imagenproducto.setText(String.valueOf(file));
		Image foto = getToolkit().getImage(t_imagenproducto.getText());
		foto = foto.getScaledInstance(300, 300, Image.SCALE_DEFAULT);
		lblfoto.setIcon(new ImageIcon(foto));
	}
}

todo perfecto, y también me enseñaron a guardar la imagen en Mysql. (coloco solo el codigo basico)

1
2
3
4
5
FileInputStream imagenproducto;
 
pst.setString(9, t_imagenproducto.getText());
imagenproducto = new FileInputStream(t_imagenproducto.getText());
pst.setBinaryStream(9, imagenproducto);

Nota(todo el codigo anterior esta pues en un formulario y funciona bien guarda y carga datos).

Pero ahora cree otro formulario, que es para dar de baja o eliminar un producto pero que a la vez guarde en otra tabla(productobaja) un registro de todos los datos del producto e inclusive la imagen.

todo funciona hasta cuando llego a la parte de guardar imagen.

en el formulario de productobaja cargo todos los datos de texto e inclusive la imagen en un jlabel de esta forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
void consultarserie(String valor) throws IOException {
 
	String buscarserial = t_busquedaserial.getText();
	String sql = "";
 
	sql="SELECT * FROM producto WHERE serialproducto= '"+buscarserial+"'";
 
	try {
		Statement st = reg.createStatement();
		ResultSet rs = st.executeQuery(sql);
 
		while (rs.next())   {
 
				t_serialbaja.setText(rs.getString("serialproducto"));
			t_placabaja.setText(rs.getString("placaproducto"));
			t_tipobaja.setText(rs.getString("tipoproducto"));
			t_marcabaja.setText(rs.getString("marcaproducto"));
			t_descripcionbaja.setText(rs.getString("descripcionproducto"));
			t_cantidadbaja.setText(rs.getString("cantidadproducto"));
			fecha_compra.setDate (rs.getDate("fechaproducto"));
			t_agenciabaja.setText(rs.getString("nombreprovedor"));
 
			Image i=null;
			Blob blob = rs.getBlob("fotoproducto");
			i = javax.imageio.ImageIO.read(blob.getBinaryStream());
			ImageIcon image = new ImageIcon(i.getScaledInstance(j_fotopasado.getWidth(), j_fotopasado.getHeight(), Image.SCALE_DEFAULT));
			j_fotopasado.setIcon(image);
 
			this.repaint();
		}
 
	}
y me carga los datos en los campos y la imagen en un jlabel, pero ahora lo que necesito en ayuda por favor es capturar esos mismos datos y guardarlos en otra tabla(productobaja), lo que es texto si lo guarda pero en la imagen me generar error. me pueden ayudar por favor.

este es el codigo que utilizo para guardar imagen:

1
2
3
pst.setString(12, j_fotopasado.getText());
imagenproducto = new FileInputStream(j_fotopasado.getText());
pst.setBinaryStream(12, imagenproducto);

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder