Como guardar imagen en base de datos usando Grails

Pues buscando algo en que entretenerme me dió curiosidad por saber como guardar una imagen en una base datos usando GRAILS je y encontré esto.

En el modelo crear un atributo de tipo byte []  quedando la clase asi.

class Imagen {
int id
Date lastUpdated
Date dateCreated
byte[] screenshot
static constraints = {
screenshot(maxSize:1073741824)
}
}

En mi caso como soy nuevo en esto de grails genero las vistas, y tendré listo el formulario para subir imágenes a la base de datos.

Ahora bien para mostrar la imagen se tiene que agregar una definición en el controller de imagen:

def showImage = {
def imagen = Imagen.get( params.id )
response.outputStream << imagen.screenshot
response.outputStream.flush()
}

Ahora para poder verla solo tenemos que acceder a url del sitio /nombre del sistema/imagen/showImage/(id de la imagen)

<img src="/(sistema)/imagen/showImage/${imagen.id}">

6 comentarios sobre “Como guardar imagen en base de datos usando Grails

  1. hola dorian felicidades por tu blog, me ayudo con el manejo de las imagenes, me gustaria saber como hago para realizar un catalogo de imagenes utilizando grails.
    felicidades nuevamente

  2. Estimado… agradecería si puedes dejar la pequeña aplicación comprimida para su posterior estudio. Soy nuevo con esto de Grails y no se por donde arrancar… gracias.

  3. Mi problema es que al generar las vistas … existe una página «LIST»… en ella es donde se muestran los registros cargados… y en lugar de mostrarme la imagen me muestra una serie de secuencias numéricas… gracias.

Deja un comentario