JSP (Java Server Page) - Descargar archivo desde Bean

 
Vista:

Descargar archivo desde Bean

Publicado por pep (1 intervención) el 16/09/2008 09:52:06
Buenas, tengo una página .jsp la cual al pulsar un botón llama a una función de una clase .java (Bean). Dicha función crea un archivo excel. El problema es que tengo que guardar ese archivo en la parte cliente, sería como si descargase un archivo de la página Web.

¿Cómo podría hacerlo?

Gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Descargar archivo desde Bean

Publicado por Abdul Ruiz Saldaña (1 intervención) el 05/01/2012 15:51:26
Hola, No se si aun lo necesitas... pero para los demas que estén buscando esto aquí esta la respuesta.

Con el objeto HttpResponse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
...
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
            response.setHeader("Content-disposition", "inline; filename="+nombre);
            response.setHeader("Cache-Control", "no-store");
            response.setHeader("Pragma", "no-cache");
            response.setDateHeader("Expires", 0);
            java.io.OutputStream os = null;
            try {
                os = response.getOutputStream();
                byte[] b = org.apache.commons.codec.binary.Base64.decodeBase64(reporte.getBytes());
                os.write(b);
            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
                if (os != null) {
                    os.close();
                }
            }
...
}


en este caso es para xls y xlsx... solo debes cambiar el ContentType para el tipo de archivo que necesites descargar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar