Hace algún tiempo escribí el post JFrame con Imagen de Fondo y surgieron varios comentarios en donde se preguntaban ¿cómo obtener, desde una base de datos, las imágenes? Hace una semana respondí a ésta pregunta, pero creo que es necesario hacer un nuevo post con éste tema.
Imaginemos que tenemos una base de datos que contiene una tabla llamada IMAGENES, que tiene una columna tipo BLOB (denominada FOTO) y un identificador (denominado ID). Para consultar desde la base datos la foto podemos hacer la siguiente consulta:
ResultSet rs = stmt.executeQuery(“SELECT FOTO FROM IMAGENES WHERE ID = 1″);
rs.next(); //Esto hacía falta
byte[] img = rs.getBytes(“FOTO”);
Debido a que un campo tipo BLOB almacena información en formato binario utilizamos un arreglo de bytes para leerlo. Hasta aquí he leído desde la base de datos una imagen con bytes, pero ¿qué debo hacer para convertirla en imagen y agregarla a un botón?
Para responder a ésta pregunta utilizaré un código que encontré en un artículo publicado en el sitio oficial de NetBeans – End-to-End Web Service Creation and Consumption in NetBeans IDE 6.0
private Image getImage(byte[] bytes, boolean isThumbnail) throws IOException {
ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
Iterator readers = ImageIO.getImageReadersByFormatName(”jpeg”);
ImageReader reader = (ImageReader) readers.next();
Object source = bis; // File or InputStream
ImageInputStream iis = ImageIO.createImageInputStream(source);
reader.setInput(iis, true);
ImageReadParam param = reader.getDefaultReadParam();
if (isThumbnail) {param.setSourceSubsampling(4, 4, 0, 0);
}
return reader.read(0, param);
}
El código anterior recibe como uno de sus parámetros, un arreglo de bytes y devuelve un objeto tipo Image. Entonces se podría completar el código así:
Image imagen = getImage(img, false);
Icon icon = new ImageIcon(imagen);
btnBoton.setIcon(icon);
Y con ésto tendríamos un botón con un icono que se obtuvo de una base de datos. Espero que sea de su ayuda.
Powered by ScribeFire.


[...] Obtener imagenes desde una base datos [...]
Por: Escuela de Ciencias de la Computación, Blog el noviembre 13, 2007
a las 3:37 pm
[...] Obtener imagenes desde una base datos Hace algún tiempo escribí el post JFrame con Imagen de Fondo y surgieron varios comentarios en donde se preguntaban […] [...]
Por: Trackback, Backlink and Traffic el noviembre 14, 2007
a las 6:27 am
Para intentar mejorar el rendimiento y no cargar tanto la memoria, se podria mirar si va mejor usar un BufferedStream en vez de un Stream normal, y conectar directamente el Stream que viene de la BDD con rs.getBinaryStream(1) o rs.getBlob(1).getBinaryStream(), en vez de trasegar el byte[] completo.
S!
Por: greeneyed el noviembre 14, 2007
a las 11:15 am
dime y porke no lo haces desde una bd sql
por desde mysql o acaso no se puede guardar
una imagen desde java y sql porke se ke se puede desde .net y c# mi pregunta es porke desde java no ?
Por: darkx el noviembre 14, 2007
a las 7:48 pm
¿Y de donde sacas que en Java no se puede? Si precisamente el ejemplo te enseña como hacerlo.
Por: greeneyed el noviembre 15, 2007
a las 7:11 am
Buen aporte.
Una forma mas corta de convertir el array de bytes en una Image, es pasando el array de bytes al contructor de la clase javax.swing.ImageIcon, luego si se quiere, se puede extraer la Image con el metodo getImage de la clase ImageIcon.
Por: Roger Padilla el noviembre 20, 2007
a las 12:13 am
a lo ke io me refiero ke para obtener la image ndesde mysql es muy comun pero hasta hora no he visto ke lo hagan desde sql ps
Por: darkx el diciembre 14, 2007
a las 12:06 am
temgo una pregunta el tipo de campo es blod es es de mysql pero si kiero trabajar o trabajo con sql server 2005 que tipo de campo de dato debo utilizar espero ke me respondan pues a mi correo darkx_valen666@hotmail.com esa es mi duda desde ya gracias
Por: sdarknot el enero 5, 2008
a las 1:03 am
Hola sdarknot,
Te comento que el tipo de dato BLOB no es exclusivo de MySQL, también lo puedes encontrar en Oracle. Y creo que en SQL Server el tipo de dato es binary, aunque no he utilizando dicha base de datos en mucho tiempo.
Por: Jorge López (jorgaf) el enero 5, 2008
a las 3:29 pm
hola man :
mira en sql server hay un tipo de dato
que binario pero blod no hay ,del tipo blod lo he visto en mysql pero se ke tambiem hay en oracle pero es muy pesado por eso no he trabajo con eso , de todas maneras voy a probar con sql y el tipo de dato binary de todos modos gracias por responder
¯`·.¸> §Ðâr|<ñ0T <.·´¯
Por: sdarknot el enero 7, 2008
a las 5:00 am
Hola sdarknot.
Mira yo he trabajado con V studio 2005 en VB y C sharp, y SQl Server 2005 y el tipo de dato que debes utilizar es Image, espero te sirva de ayuda, tengo algunos ejemplos y ligas que te puedo mandar para que te des un ejemplo. te dejo mi correo: chilango_221@hotmail.com, puedo ayudarte a resolver dudas.
Salu2
Por: Daniel el enero 7, 2008
a las 11:14 pm
BASE DE DATOS : ACCESS
IDE : NETBEANS 5.5.1
1RA PRGTA .- ¿ Y COMO SERIA PARA EXTRAER UNA IMAGEN DE ACCESS CUYO CAMPO ES DE TIPO OLE Y LA IMGN ES DE BMP ?
2DA PRGTA .- ¿ DONDE PODRIA ALMACENAR LA IMAGEN ? ( EN QE ME RECOMIENDAN )
Gracias de antemano. Salu2.
Por: josh el enero 11, 2008
a las 8:28 pm
Hola josh,
Trataré de responder:
1era. Pregunta:
No he hecho pruebas con Access, pero te recomiendo que almacenes la información la imagen como bits, desconozco si Access posee algún tipo así. El código que muestro en este post debería funcionar.
2da. Pregunta:
Depende de tú aplicación, pero si tienes muchas, muchas imágenes, mejor y las almacenas en algún directorio y el base almacena el nombre y su extesión de tal forma que puedas ubicarlas.
Saludos y me avisas cualquier avance.
Por: Jorge López (jorgaf) el enero 11, 2008
a las 10:11 pm
Muy bn Jorge grcs
lo intentare hacer. Haber si me resulta ya stare avisandote y si necesito ayuda ps volvere a escribir.
Nos vemos, Sldos.
Por: josh el enero 12, 2008
a las 5:26 pm
Yo uso una carpeta aparte, que contiene las fotos o imagenes y en la BD solo tengo los nombres de estas, como tipo string fotos o imagenes, y lo unico que hago es llamar al nombre y esta jalara a la imagen de la carpeta,
Saludos.
Por: caminante el enero 24, 2008
a las 5:39 pm
yo tengo un problema uso servlets y sql server 2005, una vez que tengo ya la imagen en un arreglo de bytes(por ejemplo 28939 campos de bytes) la inserto a la tabla, y cuando extraigo el campo de la tabla solo me devuelve muy pocos (por ejemplo de los 28939 que inserte solo devuelve 9) no se si el problema sea a la hora de insertar o a la hora de recuperarlos no se si alguien me úeda ayudar con eso.
-asi inserto
insert.executeUpdate(“insert into datos values(” + ID + “, ‘” + Name + “‘, ‘” + APP + “‘, ‘” + Address + “‘,” + Phone + “, ‘” + IMG + “‘)”);
***IMG ES EL ARRELGO DE BYTES***
-asi extraigo
ResultSet result = select.executeQuery(“select * from datos where id = ” + Id);
while (result.next()) {
RecoveryVector.setRecovery(result.getString(“id”), result.getString(“name”), result.getString(“app”), result.getString(“address”), result.getString(“phone”), result.getBytes(“image”));
}
Por: LUIS el febrero 26, 2008
a las 6:10 pm
Podrias ser tan amable de poner tambien la forma de insertar la imagen en la bd. Uso el codigo que presentas y me dice que el byte[] que mando a la funcion no es una imagen.
Por: Samuel el marzo 27, 2008
a las 6:25 pm
Podrias ser tan amable de poner tambien la forma de insertar la imagen en la bd. Uso el codigo que presentas y me dice que el byte[] que mando a la funcion no es una imagen.
Por: Samuel el marzo 27, 2008
a las 6:26 pm
Hola Samuel,
Te invito a que veas éste post que te podría ayudar.
http://biemond.blogspot.com/2008/03/mysql-with-bc4j-need-to-knows.html
Saludos desde Ecuador!
Por: Jorge López (jorgaf) el marzo 27, 2008
a las 8:30 pm
Hola. No sé si alguien me pudiera ayudar a resolver un detallito que tengo al respecto. Estoy trabajando con JSF (JavaServer Faces, específicamente la implementación MyFaces de Apache) & MySQL. Ya logro subir la imagen a la BD y todo el rollo. El detalle es cuando listo los datos con su imagen correspondiente (p. ej, una lista de maestros y sus correspondientes fotos), en IE sí funciona, pero en Opera y Mozilla NO : |
He leído que Opera tiene unos “detalles” respecto al tipo de codificación (base64) y al parecer por ahí podría estar el problema. Mmm… me urge si alguien me pudiera echar una ayudadita al respecto ya que es para mi tesis y estoy contra tiempo.
El tutorial y ejemplo que seguí está en: http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=uploadJSF.
De antemano muchas gracias…
Por: EDarío el abril 7, 2008
a las 2:19 am
Hola estoy desarrollando una pagina web en la plataforma del Netbeans con struct y mi base de datos mysql quiero insertar una imagen por cada registro que ingreso a mi base de datos pero no se como insertar la imagen desde mi ordenador no se si me puedas ayudar te lo agradeceria mucho
Por: angel el mayo 18, 2008
a las 1:38 pm
Hola angel,
Hace revisa éste post: http://biemond.blogspot.com/2008/03/mysql-with-bc4j-need-to-knows.html que habla sobre insertar imágenes en MySQL.
Espero que te sirva, saludos desde Loja
Por: Jorge López (jorgaf) el mayo 19, 2008
a las 7:14 am
hola man solo una pregunta como obtengo un InputStream desde una Image en java porfa alguna respuesta a mi correo o a este blog porfavor desde ya gracias
Por: sdarknot el mayo 20, 2008
a las 9:54 pm
para guardar una imagen necesito un File para capturar el url de la imagen o archivo y luego necesito un InputStream(File) al que se le pasa el File pero lo que kiero es primero Obtener el url modificar la imagen hacer un tumbnail y luego recien pasarcelo al InputStream como hago eso ?
Por: sdarknot el mayo 20, 2008
a las 10:00 pm
Hola Jorge:
Bueno te comento que ya implemente el codigo pero me marca un error despues del resultset es decir yo pongo el metodo para convertir de byte a imagen despues hago la consulta:
try{
nombre.setText(rs.getString(“elemento”));
rs = s.executeQuery(“SELECT imagen FROM dispositivos WHERE id =1″);
byte[] img = rs.getBytes(“imagen”);
Image picture = getImage(img, false);
Icon icon = new ImageIcon(picture);
imagen.setIcon(icon);
} // fin del try
catch( Exception e ){
javax.swing.JOptionPane.showMessageDialog(this, e, “Error”,javax.swing.JOptionPane.ERROR_MESSAGE);
}
}
no se por que me marque el error despues del resultset, ya intente resolverlo pero nada y ya se me acabaron las idea, espero me puedeas ayudar
Gracias.
Por: Ivan el junio 10, 2008
a las 1:59 pm
Hola Ivan,
Me he dado cuenta que en el código que publiqué hace falta una llamada al método next() del ResultSet.
Debes ubicarlo entre rs = s.executeQuery(“SELECT imagen FROM dispositivos WHERE id =1″);
rs.next(); //Esto hace falta
byte[] img = rs.getBytes(”imagen”);
Un ResultSet siempre se ubica antes de la primera fila con datos, al invocar al método next se ubica en una fila con datos.
Gracias por hacerme caer cuenta en el error.
Saludos.
Por: Jorge López (jorgaf) el junio 10, 2008
a las 7:27 pm
Hola Jorge:
Bueno eh implementeado el codigo ya con el rs.next,
pero al momento de invocarlo es decir;
tengo el codigo para convertir de byte a imagen, y un metodo aparte donde hago la consulta, y un boton que al momento de darle clic se supone me pondria la imagen pero me manda un error nulo: mi codigo es el siguiente:
public void llamar_imagen(){
try{
rs = s.executeQuery(“SELECT img FROM fotos WHERE id =1″);
rs.next();
byte[] imag = rs.getBytes(“img”);
Image picture = getImage(imag, false);
Icon icon = new ImageIcon(picture);
imagen.setIcon(icon);// imagen es un label al que le quiero colocar la imagen.
} // fin del try
catch( Exception e ){
javax.swing.JOptionPane.showMessageDialog(this, e, “Error”,javax.swing.JOptionPane.ERROR_MESSAGE);
}
y en el boton solo mando llamar a el metodo:
private void btnimagenMouseClicked(java.awt.event.MouseEvent evt) {
llamar_imagen();
}
y al momento de dar un clic me manda un error nulo ??
Gracias Jorge
Saludos
Por: Ivan el junio 11, 2008
a las 9:47 am
Hola jorge:
Perdon jajajjaja ya descubri mi error, bueno lo que pasa es que estaba un poco sacado de honda, me faltaba hacer la conexion, jejejejejejee bueno de todas formas muchas gracias por tu ayuda, te lo agradesco mucho.
Saludos
Por: Ivan el junio 11, 2008
a las 9:50 am
Hola Jorge:
Bueno ya eh arreglado mi codigo jajjaja solo era la conexion, bueno mi duda es como hacer un id autonumerico, sin utilizar el mysql ( mysql tiene una opcion pero esa no la quiero usar ), es decir desde netbeans crear un codigo, porque por ejemplo en mysql si utilizo el valor autonumerico y voy agregando me los agrega bien pero al momento de borrar no me lo borra continua contando, es decir si tengo 10 valores y elimino 9 mysql sigue contando 11,12, etc… y yo lo que quiero es que si elimine uno me ponga el 10.
Muchas gracias jorge.
Por: Ivan el junio 11, 2008
a las 9:59 am
Hola, no se si alguien vea este foro aun, mi situacion es la siguiente:
Tengo una aplicacion con Java (usando netbeans 6.1) y Mysql en la que manejo imágenes, nada complicado, es una imagen y los campos son descripciones de la misma (titulo, descripcion, tamaño, etc), lo que estoy haciendo ahorita es guardar solamente la ruta de la imagen, y mostrarla en un JLabel, el problema es que es una aplicacion en red, esto es hay un servidor de mysql en donde se maneja toda la informacion, entonces al momento de cargar la imagen para una alta, en una terminal, se carga y se da la informacion, pero al guardarla en la BD se guardaría la ruta local, entonces necesito o copiar la imagen en si mediante red al servidor y guardar la ruta local de la imagen en el servidor, o guardar la imagen en campo blob de la BD, esta opcion sería la menos óptima, porque son muchas imágenes y la BD crecería muchísimo…
Si hay alguien que me pueda ayudar a realizar alguna de las dos formas se lo agradecería enormemente…
Por: l3ambin0 el junio 11, 2008
a las 1:02 pm
Hola jorge:
Te comento que eh arreglado el problema del id autonumerico, ee pensado y me surgio la duda de poder guardar una imagen desde una aplicacion de netbeans a una base de datos,
Yo tengo una aplicacion donde utilizo un JFileChooser
y selecciono la imagen que quiero y la abro en un label. Pero al momento de guardarla lo que yo hago es obtener la direccion y guardarla en el campo blob, pero me marca un error de IO, me dice que no es una imagen JPEG.
Si e pudieras ayudar te lo agradeceria muchisimo.
Por: Ivan el junio 11, 2008
a las 4:27 pm
Hola l3ambin0,
Te comento mi sugerencia para lo que necesitas hacer, al ser tú proyecto Web, necesariamente debes hacer una de las 2 situaciones:
1. Subir la imagen a tú servidor y guardarla en algún directorio y en la base de datos lo que haces es guardar ese path de tú servidor.
2. Almacenar la imagen en tú base de datos en campos que admiten información binaria. Esta opción es poco recomendada cuando manejas un volumen bastante grande de imágenes.
Esto te puedo comentar.
Saludos desde Loja, Ecuador
Por: Jorge López (jorgaf) el junio 11, 2008
a las 7:11 pm
Hola Ivan,
Que bien que hayas superado tus problemas. Ahora yo te pregunto que tratas de enviar a almacenar en la base de datos? y cómo lo estás haciendo?
Con tus respuestas tendré alguna sugerencia, al menos eso espero, jejejeje.
Saludos
Por: Jorge López (jorgaf) el junio 11, 2008
a las 7:13 pm
Gracias por contestar Jorge…
El detalle es que no es aplicación Web, es aplicación de escritorio, pero en Red, esto es un servidor para la base de datos Mysql y varias terminales corriendo el .jar, por eso quisiera un poco de ayuda acerca del manejo de archivos…
De antemano Gracias
Por: l3ambin0 el junio 11, 2008
a las 7:45 pm
Hola Jorge:
Bueno lo que pasa es que quiero guardar una imagen en la base de datos, el proceso es:
con un FileChooser escojo la imagen y la abro en un JLabel luego cuando le doy clic en el btn guardar,lo que quiero es guardar la imagen en la base de datos en el campo blob, gracias a tus aportes pude mostrar la imagen desde la base de datos pero ahora quiero guardarla desde un clic enviarla a la base de datos.
Por: Ivan el junio 12, 2008
a las 9:14 am
Hola l3ambin0,
Te comento que lo que necesitas hacer entonces, es utilizar algún API que te soporte FTP para tener acceso a un directorio de tú servidor en donde estarán almacenadas las imágenes.
Tu aplicación cliente utilizará ese FTP para cargar y poder visualizar las imágenes, debes tener en cuenta el tema permisos para acceder vía FTP a tú servidor.
Espero que mi comentario te ayude en algo.
Saludos
Por: Jorge López (jorgaf) el junio 12, 2008
a las 11:51 am
Hola Ivan,
Te comento que deberías hacer lo contrario de lo que propongo en el post, es decir a tú imagen convertirla en un arreglo de bytes y almacenarla en la base. No he realizado algo así, pero creo que en general es lo que debes hacer, si puedo trataré de buscar algo de información sobre el tema, aunque estoy a medio gas porque mi portátil se dañó :’(
Saludos.
Por: Jorge López (jorgaf) el junio 12, 2008
a las 11:53 am
Hola Jorge:
Gracias por resolver mis dudas, y pues que mal por lo de tu portatil, espero todo se te solucione bien, y bueno intentare convertir la imagen en un arreglo de bytes, gracias por tus comentarios.
Por: Ivan el junio 12, 2008
a las 12:46 pm
Hola Jorge:
Bueno mi duda es que si desde un JLabel se puede obtener un array de bytes[], porque el label es donde coloco la imagen despues de seleccionarla.
yo intente eso:
String imag=String.valueOf(imagen.getIcon);
//el conversor es de tipo Objeto.
//imagen es como se llama mi label
Gracias.
Por: Ivan el junio 12, 2008
a las 1:23 pm
Hola Ivan,
Te comento que no lo puedes hacer un JLabel es completamente diferente de una imagen, debes crearte un Image y luego obtener el array.
Espero que sea de tú ayuda.
Saludos
Por: Jorge López (jorgaf) el junio 13, 2008
a las 8:39 am
Hola Jorge:
Bueno mi duda es como colocar un enlace a internet a localhost con una direccion especifica, que al momento de dar clic se abra internet en la direccion que yo le de.
es decir por ejemplo:
Direccion:http://localhost/phpMyAdmin/
tiene clave: usuario root clave:root
y que al darle clic se direccione hay.
Gracias por tu ayuda
Por: Ivan el junio 16, 2008
a las 9:31 am
Hola Jorge:
Saludos y espero se haya arreglado lo de tu portatil,
bueno los problemas anteriores los eh resuelto totalmente, ahora me eh atorado con un filechooser,
lo que yo quiero es que cuando se seleccione un elemento al momento de darle clic en abrir que tambien guarde la imagen o archivo seleccionado en una ruta especifica.
Es decir dos acciones al mismo tiempo abrir la imagen y guardarlo en una ruta especifica.
Claro que la segunda se ejecuta en segundo plano.
Por: Ivan el junio 17, 2008
a las 11:10 am
Bueno, me contesto yo mismo : ) ….
Efectivamente seguí los pasos mostrados en http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=uploadJSF y el código para mostrar una imágen obtenida desde una BD (claro, colocando primero unos conjuntos de valores en el
Mapde los atributos de la aplicación, estos valores es el flujo de bytes y el tipo de archivo a mostrar) es el siguiente:Próximamente en http://edario-it.blogspot.com colocaré información y detalles más específicos de cómo subir/obtener una imagen desde una BD empleando JSF : ).
Por: EDarío el junio 22, 2008
a las 4:48 am
Sorry, ahora sí el código:
String idAutor = request.getParameter("id_autor");
String contentType = (String)application.getAttribute(idAutor + "_fileupload_type");
byte[] bytes = (byte[])application.getAttribute(idAutor + "_fileupload_bytes");
if (bytes != null)
{
response.setContentType(contentType);
response.getOutputStream().write(bytes);
}
Por: EDarío el junio 22, 2008
a las 4:49 am
oe man tu solucion solo es cuando la imagen es jpg pero si es png o gif
Por: sdarknot el julio 21, 2008
a las 4:37 pm
hola gente!tengo un problemita.
Tengo un servlet, un JSP,Codigo JAva y Base de Datos mysql.
Necesitaria crear una tabla en la Bd, que me guardae una ruta de la imagen, y un ID.
y necesitaria en el jsp tener la llamada a esa imagen con algun tipo de ID para poder hacer el query dentro del servlet asi encontrar la ruta, traer la imagen, y imprimirla en el jsp.
el jsp tiene muchas imagenes con textos.
Que el me podria hacer este super facor, le agradeceria muchisimooooooo, me estoy matando con estoooo gracias!!
Por: jonathan el septiembre 22, 2008
a las 2:25 pm
Hola jonathan,
¿Cada página tendrá diferentes imágenes? Te pregunto ésto porque creo que de eso debe depender cómo puedes implementar tú solución.
Con tu respuesta te podré ayudar.
Por: Jorge López (jorgaf) el septiembre 22, 2008
a las 9:22 pm
UN CONSULTA. YO QUISIERA SABER QUE DATOS ME PODRIAN DAR PARA SABER COMO HAGO PARA QUE MI LOGICA DE JAVA SE INTEGRE A UN APARATO CUALQUIERA POR EJMPLO SI TENGO MI LOGICA PROGRAMADA SOBRE UNA CALCULADORA Y TENGO UN CIRCUITO DE CALCULADORA COMO HAGO PARA INTEGRAR MI LOGICA A ESTE HARDWARE. LOS DATOS QUE ME DEN PUEDE SER CUALQUIERA COMO:
- nombre de la especialidad
- terminos conocidos (los que sea)
- informacion de libro (de cualquier autor)
- etc. En resumen me vale cualquier informacion que se tenga porqe soy muy curioso.
- A por sierto ya se como se hace ejecutables de java pero solo me falta saber sobre esos temas relacionados con incluir el software a un hardare.
NO ESTA DENTRO DE LO QUE ESTOY APRENDIENDO. PERO SOY MUY CURIOSO CON QUE ME DEN ALGO DE INFORMACION O DATO ME SERVIRA PARA INVESTIGAR POR MI CUENTA. GRCIAS Y HASTA PRONTO
Por: topo el octubre 1, 2008
a las 1:59 pm
Hola topo,
Te comento que no he realizado algo cómo eso, únicamente e visto aplicaciones Java que corren en la computadora y que vía puertos Seriales o Paralelos se comunican con algún hardware adicional.
Pero creo que el tema va en aplicaciones embebidas (embedded). Encontré algo en google:
http://www.javaworld.com/javaworld/jw-09-1996/jw-09-ripps.html
Si tienes algún progreso en el tema o noticias de interés te invito a que las compartas.
Saludos
Por: Jorge López (jorgaf) el octubre 1, 2008
a las 6:32 pm
muy bn amigo Jorge estare investigando pero si por alli encuentras algo entre las personas que rondan esta web me avisas porque estoy interesado en saber esas aplicaciones y pes asi me ayudas tambn para entender de que trata el asunto y asi las paso para que la gente lo lea. Estare al tanto, y grcs.
PD: Cualquier dato, por mas insignificante que sea, me sirve. Si tienes algo postealas para leerlas. Hasta pronto y salu2.
Por: topo el octubre 1, 2008
a las 6:56 pm
Buenas tardes Ingeniero, mi pregunta es la siguiente necesito que me ayude tengo una base de datos y necesito presentar las imagenes en netbeans una a la vez, ya he consegido sacarlas de la base de datos (oracle) a un directorio, ahora mi pregunta es como del directorio las ubico en un jframe en mi aplicacion de java.. si me puede ayudar con algunos tips
Gracias de antemano
Por: ffojeda08 el octubre 6, 2008
a las 9:48 am
Hola ffojeda08,
Te hago un par de preguntas ¿qué tipo de aplicación estás desarrollando Web o Swing? ¿Porqué las guardas en un directorio? Si estas con aplicaciones Swing una forma fácil de mostrarlas es utilizando un JLabel al cual el pones la imagen. Si me das mayores detalles te puedo ayudar.
Saludos
Por: Jorge López (jorgaf) el octubre 6, 2008
a las 10:24 pm
Muy bien ya lo he conseguido pero ahora mi duda es que se me hace muy larga o muy grande el tamaño de la imagen cuando la cargo ya probe con las configuraciones el alto, ancho pero aun asi o se hacen muy grandes o no me muestra toda la imagen si le encojo. hay alguna forma de autoajustar la imagen a un tamaño fijo para que no se me hagan los problemas q le dije
Por: ffojeda08 el octubre 6, 2008
a las 11:05 pm
Muy bien ya lo he conseguido pero ahora mi duda es que se me hace muy larga o muy grande el tamaño de la imagen cuando la cargo ya probe con las configuraciones el alto, ancho pero aun asi o se hacen muy grandes o no me muestra toda la imagen si le encojo. hay alguna forma de autoajustar la imagen a un tamaño fijo para que no se me hagan los problemas q le dije
Gracias
Por: ffojeda08 el octubre 6, 2008
a las 11:05 pm
Hola amigo jorge, adonde por aqui de nuevo con eso de los “embedded” encontre informacion muy compleja que descargue del emule y para ello hay que saber de electronica sobre Cmos, inteligencia artificial, algoritmo genetico, sistemas expertos (hay maestrias para ese curso tambn) y algunos software como el PPL qe es un lenguaje de POO o el ppc y otros mas.
Si que anda complicado la cosa. Yo no tendria ningun problema en presentar detalles de lo que se trata en si el tema si no tuviera tan revuelta las ideas xD eso fue algo qe pude ordenar. Pero si alguien sabe mas por aqui ando mientras tanto seguire ordenando ideas. Hasta otra oportunidad, salu2.
Por: Topo el noviembre 13, 2008
a las 12:34 am
hola jorge,
yo estoy haciendo una aplicacion parecida a la de ivan (aplicacion de escritorio cliente-servidor) no he podido encontrar la forma de guardar una imagen en la BD (la utilizacion de ftp en mi caso me da mas problemas q soluciones) he cambiado cuanta cosa se me ha ocurrido a tu codigo y otros mas q he encontrado y nada me funciona, para mi caso lo q creo mas funcional con las imagenes es guardarlas y extraerlas directamente de la base de datos.
ojala me puedas ayudar
Por: giroco el diciembre 20, 2008
a las 10:46 am
hola pude conseguir hacer las 2 cosas, guardar y extraer (gracias a este post) imagenes en y desde una BD mysql si alguien necesita algo puedo ayudarle mi correo es zeus0629@hotmail.com
gracias jorge sin este post no hubiera podido
Por: giroco el diciembre 21, 2008
a las 12:45 pm
como mostrar una imagen en un JDesktopPane pero la imagen sera extraida desde sqlserver por fabor necesito su ayuda respondame: roberto_8523@hotmail.com
Por: roberto el diciembre 31, 2008
a las 3:37 pm
Ingeniero como mostrar una imagen en un JDesktopPane pero la imagen sera extraida desde una base de dato sqlserver por fabor necesito su ayuda respondame: roberto_8523@hotmail.com
Por: roberto el diciembre 31, 2008
a las 3:49 pm
Ingeniero como mostrar una imagen en un JDesktopPane pero la imagen sera extraida desde una base de dato sqlserver por fabor necesito su ayuda escribanme : roberto_8523@hotmail.com
Por: roberto el diciembre 31, 2008
a las 3:49 pm
yo stoy intentando hacer lo mismo de sacar la imagen pero desde postgres usando netbeans, supongo q el tipo blob q mencionan en postgres es el oid, recien empezare a probar las sugerencias de esta pag la cual me parecio la mas interesante de las q busq… gracias.
Por: william el enero 1, 2009
a las 1:14 pm
BUEN DIA A TODOS NECESITO AYUDA PARA SABER COMO ES EL CODIGO PARA HACER UN:
- FOR-EACH
- METODOS CON PARAMETROS OPCIONALES
LOS DOS EN CODIGO JAVA
SE LOS AGRADESCO DE ANTEMANO ESPERO UNA RESPUESSTA DE ALGUNO QUE PUEDA AYUDARME. SALU2
Por: CASIQUE el marzo 26, 2009
a las 11:40 am
Hola CASIQUE,
Bueno un for-each en Java te permite recorrer colecciones de datos (arreglos, matrices, ArrayList, etc)
int []arr = {2, 0,-1, 34, 8};
for(int i : arr){
System.out.println(i);
}
En el código anterior la variable i tomará cada uno de los valores que tiene el arreglo y los presentará.
Ahora para tú segunda pregunta puedes visitar http://today.java.net/pub/a/today/2004/04/19/varargs.html y podrás encontrar, al menos eso creo, la respuesta a tú pregunta.
Saludos
Por: Jorge López (jorgaf) el abril 2, 2009
a las 9:45 pm
ola estaba chekando el codigo pero al inicio me salieron varios errores por k me faltaban los import
aorita tengo todos pero me marca este error
——————————–
unreported exception java.io.IOException; must be caught or declared to be thrown
Image picture = getImage(imag, false);
———————————-
me podrian decir en k me fallo y los imports k ocuparon a los k ya les kedo este codigo gracias
Por: matsuita el mayo 7, 2009
a las 1:44 am
Hola matsuita,
Pues debe faltar un catch algo así me imagino: }catch(IOException ioe){ }
Creo que te podría solucionar tú problema
Por: Jorge López (jorgaf) el junio 2, 2009
a las 9:21 am
Hola amigos,
Tengo problemas al presentar un archivo desde un servlet de java, este archivo se encuentra almacenado en la base de datos(Oracle) en un campo BLOB.
En el Servlet lo extraigo por medio de un PrepareStament y lo almaceno y se lo asigno a un Resultset.
Al presentarme el archivo, se habre en el word como en hexadecimal o algo asi ejemplo=”ÐÏ à¡± á > þÿ “. el codigo que utilizo es el siguiente:
ls_tipoContenido = “application/msword”;
Blob b = rs.getBlob(“ARCHIVO”);
p_response.setContentType(ls_tipoContenido);
p_response.setContentLength( (int) b.length());
InputStream is = b.getBinaryStream();
OutputStream os = p_response.getOutputStream();
byte buf[] = new byte[(int) b.length()];
is.read(buf);
os.write(buf);
os.close();
Les agradesco de antemano, espero una respuesta por parte de alguno de ustedes…
Por: David el junio 8, 2009
a las 12:21 pm
ola quisiera saber como puedo acr para insertar en un mismo label varias imàgenes?? ty ablando d java.. en netbeans..
Por: soledad el junio 9, 2009
a las 3:54 pm
Alguien podria apoyarme con este problemita de favor ya que necesito desplegar una y muchas imagenes, tambien necesito ver una vista en miniatura de la imagen
hola gente!tengo un problemita.
Tengo un servlet, un JSP,Codigo JAva y Base de Datos mysql.
Necesitaria crear una tabla en la Bd, que me guardae una ruta de la imagen, y un ID.
y necesitaria en el jsp tener la llamada a esa imagen con algun tipo de ID para poder hacer el query dentro del servlet asi encontrar la ruta, traer la imagen, y imprimirla en el jsp.
el jsp tiene muchas imagenes con textos.
Que el me podria hacer este super facor, le agradeceria muchisimooooooo, me estoy matando con estoooo gracias!!
Por: Alejandro el enero 7, 2010
a las 9:01 pm
Hola a todos, especialmente a ti Jorge, creo que en este sitio, aunque es primera vez que participo, encontrare la solucion al problema que me tiene de puntas. Resulta que tengo una aplicacion de ecritorio que se ejecuta desde un .jar, dicha aplicacion gestiona una base de datos creada en MySQL sobre una plantilla de trabajadores con todos sus datos (nombre, apellidos, etc), pero mi problema esta en la foto de cada trabajador. que quiero hacer:
1. Poder cargar la imagen desde un jFilechooser y ponerla en un JLabel (aun no lo he hecho porque no logro sacarla desde el jFilechooser).
2. Guardar esa imagen en la Base de Datos que tengo creada para la plantilla en un campo (creo que el campo deberia ser de tipo blob, si alguien tiene otra sugerencia la acepto).
3. Poder cargar la imagen desde la Base de Datos
y ponerla en el mismo label.
He ahi mis problemas, todo se resumen en uno solo “Estoy hundido con las imagenes”. La 1ra pregunta se utilizara solo cuando se va a agregar un nuevo trabajador a la plantila, el resto es solo visualizacion de informacion ya creada.
Bueno me despido deseandoles un feliz analisis para ayudarme a resolver mis problemas, tengan piedad de mi, les agradecere cualquier comentario.
Gracias
Por: fenix_cuba el abril 8, 2010
a las 8:47 am
Te felicito muy buena la ayuda
Por: Roberto Quinde el abril 16, 2010
a las 6:33 pm
El método que manejan para obtener las imágenes sólo funciona con jpeg
Ojalá me puedan ayudar a obtener imágenes con diferentes formatos, como .png, .gif, etc
Iterator readers = ImageIO.getImageReadersByFormatName(”jpeg”);
Gracias!
Por: Ismael Saenz el septiembre 3, 2010
a las 6:41 pm
[...] Fuente del Articulo: http://cafelojano.wordpress.com/2007/11/13/obtener-imagenes-desde-una-base-datos/ [...]
Por: Obtener imagen de BD « Bitacoras el marzo 25, 2011
a las 5:33 pm
[...] Deja un comentario Fuente del Articulo: http://cafelojano.wordpress.com/2007/11/13/obtener-imagenes-desde-una-base-datos/ [...]
Por: Obtener imagen de BD « Bitacoras el marzo 25, 2011
a las 5:33 pm
Olle por personas como tu es que progresamos, Excelente! Muchas Gracias me sirvio de mucho no te imaginas cuanto te lo agradezco!!! Gracias!!!!!! ^^
Por: Frangeris el abril 1, 2011
a las 4:12 pm
gracias!!!
Por: eugenia el mayo 10, 2011
a las 6:43 pm
Muchas Gracias, exelente el documento me sirvio de mucho. Felicitaciones
Por: Diego Fernando Arenas el agosto 7, 2011
a las 12:37 pm
Hola, necesito de tu ayuda, mira estoy realizando una aplicacion en java, en la cual yo ingreso datos (por ejemplo: cantidad de servidores : 4, cantidad de usuarios : 8, software utlizados: sql, oracle, visual studio, BPWIN.), ya cuando el usuario llena estos datos, tengo un boton creado al cual al hacerle click, tiene que enviarle una ventana donde le presente estos datos como una arquitectura, es decir, imagenes donde me represente cada servidor, con su numero respectivo de usuarios y con los software que trabaja cada servidor. Por favor ayudame. Gracias.
Por: Silvita1904 el diciembre 7, 2011
a las 10:11 am
hola estoy haciendo una aplicacion web en jsp ya logre mostrar la imagen de la base de datos en mysql con jsp pero solo aparece la imagen y no aparece el estilo etc que contiene solo aparece la imagen ayuda ¡¡¡¡¡
Por: angie el diciembre 7, 2011
a las 5:56 pm
Hola creo que llego muy tarde pero agradecere toda ayuda necesito saber como cargar las imagenes (desde mi base de datos en postgres ) en jLabels, resulta que los labels que creo son el numero de registros que llevo almacenados pero se presenta un error al convertir la imagen. Por favor si alguien me podria guiar se lo agradeceria
Por: ban el septiembre 26, 2012
a las 7:44 pm
I was recommended this blog by my cousin. I am not
sure whether this post is written by him as nobody else know such detailed about my difficulty.
You are wonderful! Thanks!
Por: information bali el noviembre 5, 2012
a las 11:42 pm
Everything is very open with a very clear description of the challenges.
It was truly informative. Your site is very helpful.
Thank you for sharing!
Por: http://www.magicmeshoffer.com el diciembre 17, 2012
a las 12:31 am