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

Descargar y abrir pdf en navegador

Estas en el tema de Descargar y abrir pdf en navegador en el foro de Java en Foros del Web. Buenas, Tento una apliación en JSF 2 que cuando le doy un boton se crea un pdf. Estoy intentando que dicho pdf se descargue y ...
  #1 (permalink)  
Antiguo 19/06/2014, 10:12
 
Fecha de Ingreso: mayo-2009
Mensajes: 18
Antigüedad: 15 años
Puntos: 0
Pregunta Descargar y abrir pdf en navegador

Buenas,

Tento una apliación en JSF 2 que cuando le doy un boton se crea un pdf. Estoy intentando que dicho pdf se descargue y se abra en una nueva pestaña del navegador pero lo que sucede es que durante la ejecución del código no existe ningún problema, pero en vez de abrir dicho pdf, el navegador se queda "pensando"

El código del botón de la pagina es el siguiente
Código HTML:
<h:commandLink value="PDF" target="_blank"
 action="#{generarPDF}" /> 

Y el código del metodo es el siguiente
Código HTML:
File file = new File(ruta, nombre);
            FacesContext facesContext = FacesContext.getCurrentInstance();  
            ExternalContext externalContext = facesContext.getExternalContext();  
            HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();  

            BufferedInputStream input = null;  
            BufferedOutputStream output = null;
            
            try {  
                // Open file.                                                                                          
                input = new BufferedInputStream(new FileInputStream(file), DEFAULT_BUFFER_SIZE);  

                // Init servlet response.  
                response.reset();             
                response.setHeader("Content-Type", "application/pdf"); 
                response.setHeader("Cache-Control", "no-cache");
                response.setHeader("Content-Length", String.valueOf(file.length()));            
                response.setHeader("Content-Disposition", "inline; filename=\"Proyecto_1.pdf\"");  
                output = new BufferedOutputStream(response.getOutputStream(), DEFAULT_BUFFER_SIZE);  

                // Write file contents to response.  
                byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];  
                int length;  
                while ((length = input.read(buffer)) > 0) {  
                    output.write(buffer, 0, length);  
                }              
                 // Finalize task.  
                output.flush();                          
            }finally{  
                output.close();  
                input.close();  
            }         
            facesContext.responseComplete(); 
¿Alguno es capaz de ver el porque no se abre el pdf?

Gracias y un saludo

Etiquetas: navegador, pdf
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:10.