Foros del Web » Programación para mayores de 30 ;) » Java »

Descarga de archivos JSP - JavaBeans

Estas en el tema de Descarga de archivos JSP - JavaBeans en el foro de Java en Foros del Web. Buenas. Estoy haciendo una página en jsp. Lo que quiero es que al pulsar en un botón de la página, se descarge un archivo. El ...
  #1 (permalink)  
Antiguo 20/10/2009, 17:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 11
Antigüedad: 15 años
Puntos: 0
Descarga de archivos JSP - JavaBeans

Buenas.
Estoy haciendo una página en jsp. Lo que quiero es que al pulsar en un botón de la página, se descarge un archivo.

El método que ejecuta el botón en el Bean es el siguiente:
Código:
public String downloadFile () throws FileNotFoundException, IOException
    {
        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();


        System.out.println ("Descargando archivo==>"+rutaArchivo);

        response.setContentType("APPLICATION/OCTET-STREAM");

       String disHeader = "Attachment;Filename=\"myFile.txt\"";
       response.setHeader("Content-Disposition", disHeader);

       // transfer the file byte-by-byte to the response object
       File fileToDownload = new File(rutaArchivo);
       FileInputStream fileInputStream = new  FileInputStream(fileToDownload);

       int i;
       while ((i=fileInputStream.read())!=-1)
       {
          response.getOutputStream().write(i);

       }
       fileInputStream.close();

       response.getOutputStream().close();

     



        System.out.println ("fin descarga archivo");
        return "success";
    }
Cuando yo pulso en el botón, se abre el diálogo de descarga, y sí comienza a descargarse el archivo.

El problema está en que al abrir el archivo, no tiene el contenido que debiera tener, sino que su contenido es el codigo html de la jsp donde se encuentra el botón que ejecuta ese método.

¿Alguien sabe cual es la solución?
Saludos y gracias
  #2 (permalink)  
Antiguo 21/10/2009, 16:57
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Descarga de archivos JSP - JavaBeans

Hola,

Copié tu código en un action y funciona bien.
Por lo menos en la parte que mostraste no creo que esté el problema.
Descargué una imagen de 2 Mb sin problemas.

¿Ya revisaste en los archivos Log del servidor sin no genera alguna excepción?

Saludos,
  #3 (permalink)  
Antiguo 23/10/2009, 10:18
 
Fecha de Ingreso: mayo-2009
Mensajes: 11
Antigüedad: 15 años
Puntos: 0
Respuesta: Descarga de archivos JSP - JavaBeans

Hola!!
Muchas gracias por molestarte, pero ya consegui solucionarlo.
Efectivamente ese código funcionaba bien, pero había que añadir una última línea. Estoy usando JSF, y esto hacía que se enviara en el response la JSP en lugar del archivo.

Lo solucione poniendo al final esta lína
Código:
context.responseComplete();
Aunque ya viste que funcionaba, espero que esto te sirva de algo en un futuro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:26.