Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/10/2009, 17:28
Erzemi
 
Fecha de Ingreso: mayo-2009
Mensajes: 11
Antigüedad: 15 años, 7 meses
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