Java - JPanelWebCam()

 
Vista:
sin imagen de perfil
Val: 26
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

JPanelWebCam()

Publicado por Aitor (17 intervenciones) el 10/12/2018 16:43:15
Estoy utilizando el método JPanelWebCam para poder hacer una foto desde la webcam. He conseguido hacer foto pero se me guarda con un nombre predeterminado. Yo lo que quiero es elegir el nombre y a ruta de la imagen y posteriormente guardarla en la Base de datos.

He hecho el siguiente método para guardar la imagen en la bd y funciona bien lo único que no quiero que se guarden los bytes sino que se guarde la ruta.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static void btnGuardar(byte[] imagen) {
    String query = "INSERT INTO USUARIO (Imagen) VALUES(?)";
    PreparedStatement pst;
    try {
        pst = con.prepareStatement(query);
        pst.setBytes(1, imagen);
        if(pst.executeUpdate()>0) {
            JOptionPane.showMessageDialog(null, "REGISTRADO CORRECTAMENTE");
 
        }
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
 
}

He probado cambiando donde pone byte por Strings pero cuando pulso el botón para llamar al método y declaro la imagen no se como hacerlo ya que el único que me sale compatible con JPanelWebCam es el .getBytes()
1
2
3
4
5
6
7
8
btnGuardar.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        byte[] imagen= panelCamara.getBytes();
        BD.btnGuardar(imagen);
    }
});
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
sin imagen de perfil
Val: 358
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

JPanelWebCam()

Publicado por Nicolas (137 intervenciones) el 10/12/2018 22:33:32
Hola Aitor.
Para guardar la ruta en la BBDD deberías tener un campo String con el path correspondiente y agregarle el nombre de la imagen.
Para convertir el array de byte a una imagen podés usar el ejemplo:

1
2
3
4
5
6
7
OutputStream out = null;
try {
    out = new BufferedOutputStream(new FileOutputStream(path));
    out.write(bytes);
} finally {
    if (out != null) out.close();
}

El path se predefine desde la BBDD o desde una ruta fija ya definida.
Espero te sea de ayuda.
Abrazo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar