JSP (Java Server Page) - Mostrar imagen de MySql tipo Blob a JSP

 
Vista:
Imágen de perfil de Daniel
Val: 2
Ha mantenido su posición en JSP (Java Server Page) (en relación al último mes)
Gráfica de JSP (Java Server Page)

Mostrar imagen de MySql tipo Blob a JSP

Publicado por Daniel (2 intervenciones) el 27/06/2019 23:03:51
Hola de nuevo a todos los del foro, en esta ocasión tengo una aplicación en JSP netbeans MVC lo que hace es guardar una imagen de tipo BLOB a Mysql y me funciona correctamente bien, pero ahora quiero recuperar la imagen que guarde en mi base de datos a una página JSP dentro de una tabla, eh buscado información en la web pero solo llego hasta este punto y no me muestran las imágenes en mi tabla JSP (solamente muestran iconos de imagenes).
Espero me puedan dar un apoyo un favor ya que exactamente no se que debo hacer hasta aquí, bueno también les dejo mi código, si falta más información diganmelo para subirlo, Gracias.

Código de la clase java "BD_Usuario" donde se ejecuta la consulta sql
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
33
34
package Modelo;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import Conexion.Conexion;
 
public static ArrayList<Usuario> MostrarUsuarios(){
    ArrayList<Usuario> lista = new ArrayList<Usuario>();
 
    Connection cn;
    Conexion con = new Conexion();
    cn = con.conectar();
 
    try{
        PreparedStatement ps = cn.prepareCall("SELECT Codigo, Nombre, Imagen FROM PERSONA");
        ResultSet rs = ps.executeQuery();
 
        while(rs.next()){
            Usuario Usu = new Usuario();
            Usu.setCodigo_Usu(rs.getInt("Codigo"));
            Usu.setNombre_Usu(rs.getString("Nombre"));
            Usu.setRecuperar_Foto_Usu(rs.getBytes("Imagen"));
 
            lista.add(Usu);
        }
        rs.close();
        ps.close();
    }catch(Exception e){
        System.err.println(e.getMessage());
    }
    return lista;
}

Código del JSP donde se muestran las imágenes en una tabla
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
33
34
35
36
37
38
39
40
41
42
43
44
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="Modelo.Usuario"%>
<%@page import="Modelo.BD_Usuario"%>
<%@page import="java.util.ArrayList"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form>
            <table>
                <thead>
                    <td> Codigo </td>
                    <td> Nombre </td>
                    <td> Imagen </td>
                </thead>
 
                <%
 
                    ArrayList<Usuario> lista = BD_Usuario.MostrarUsuarios();
                    for(int i=0; i<lista.size(); i++){
                        Usuario Usu = lista.get(i);
                %>
 
                <tr>
                    <td> <%=Usu.getCodigo_Usu() %> </td>
                    <td> <%=Usu.getNombre_Usu() %> </td>
                    <td> <img src="data:image/jpg;base64,<%=Usu.getRecuperar_Foto_Usu() %>" /> </td>  // Aquí creo que debe modificarse pero no se como hacer para que muestre imágenes
                </tr>
                <%
                    }
                %>
 
                <tr>
                    <td colspan="3">
                        <a href="Usuario.jsp">Registrar nuevo usuario</a>
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>

Resultado de la ejecución

resultado-de-mostrar-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

Mostrar imagen de MySql tipo Blob a JSP

Publicado por Pedro Caceres (2 intervenciones) el 19/05/2020 17:33:27
Gracias Me haz salvado
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

Mostrar imagen de MySql tipo Blob a JSP

Publicado por juan Quesada (2 intervenciones) el 06/02/2022 23:06:52
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
33
34
35
36
37
38
39
40
41
42
43
44
private static void insertarCoche(Object coche){
 
        try {
            PreparedStatement ps=conn1.prepareStatement("USE vehiculos");
            ps.execute();
 
            //PreparedStatement ps=conn1.prepareStatement("INSERT INTO  Coche (infoCoche) VALUES (?);");
            ByteArrayOutputStream byteArray = new ByteArrayOutputStream();
            ObjectOutputStream oos;
            oos = new ObjectOutputStream(byteArray);
            oos.writeObject(coche);
            ps = conn1.prepareStatement("INSERT INTO  Coche (infoCoche) VALUES (?)");
 
            ps.setBytes(1, byteArray.toByteArray());
            ps.execute();
        } catch (SQLException | IOException ex) {
            Logger.getLogger(Entregable4.class.getName()).log(Level.SEVERE, null, ex);
        }
 
    }
 
    private static void leer(){
 
        Object dato=null;
        try{
            PreparedStatement ps = conn1.prepareStatement("select * from coche");
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
 
                   Blob blob = rs.getBlob("infoCoche");
 
                   // Se reconstruye el objeto con un ObjectInputStream
                  ObjectInputStream ois = new ObjectInputStream(blob.getBinaryStream());
                  dato =  ois.readObject();
                  if(dato instanceof  Coche ){
                        Coche temp=(Coche) dato;
                        System.out.println(temp.toString());
                  }
            }
 
        } catch (SQLException | IOException | ClassNotFoundException ex) {
            Logger.getLogger(Entregable4.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
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