Subir archivos con Grails

Paso 1: gsp



Seleccionar Archivo.







Paso 2 : Controller
def
importarUsuarios = {
//recuperamos el archivo en la varible archivo (fileName) es el nombre
// del imput file del gsp
def
archivo= request.getFile('fileName')
// creamos el directorio en la ruta donde esta nuestra aplicacion y agragamos la carpeta
//cargaUsuarios ese nombre cambia para lo que ustedes necesiten
def webRootDir = servletContext.getRealPath("/")
def userDir = new File(webRootDir, "/cargaUsuarios")
userDir.mkdirs()
// se guarda el archivo en esa carpeta
archivo.transferTo( new File( userDir, archivo.originalFilename))
// si necesitan el apth del archivo lo pueden obtener asi
String file=userDir.toString()+ File.separator + archivo.originalFilename
//agregamos el nombre del archivo a una lista en caso de querer imprimir el nombre
ArrayList nomArchivo=new ArrayList()
nomArchivo.add(archivo.originalFilename)
//regresamos la lista a un gsp y asi cargamos un archivo al servidor
render
(view:'/importarDatos/importar', model:[nomArchivo:nomArchivo])
}

6 Comentarios

  1. Hola! Muchas gracias por tu aporte!

    Solo una duda... Aun falta código?

    ResponderBorrar
  2. Que tal? Gracias por visitarnos!

    No, no falta, es todo el còdigo.

    Saludos!

    ResponderBorrar
  3. Disculpa que insista pero no falta la vista importar.gsp?

    ResponderBorrar
  4. Contestando tu pregunta te confirmo que no falta codigo, importar.gsp es donde tengo mi codigo para subir el archivo que esta en el paso 1 y solo estoy haciendo un rendered desde el controller a mi mismo gsp para mostrar en pantalla el nombre del archivo en ese gsp asi lo recupero en el gsp
    ${nomArchivo}
    Espero haberte ayudado.

    ResponderBorrar
  5. Hola! yo quisiera saver si me podrias ayudar para hacer que el archivo que cargamos este disponible para poderlo descargar.

    ResponderBorrar
  6. utilizaste alguna libreria en el controller? hay que importar alguna?

    ResponderBorrar

Publicar un comentario

Artículo Anterior Artículo Siguiente