Duvidas com IReport / Jasper

Bom dia pessoa estou com um probleminha aqui com o IReport minha aplicação esta gerando o PDF no browser só que o que preciso é que ele abra a caixa tipo (Download / abrir ) Eu consegui fazer isso usando o:

                response.setContentType("application/download"); 

Só que ele não reconhece o arquivo como PDF ele abra a caixa de download como arquivo desconhecido

se alguem poder ajudar agradeço

Codigo:

[code] public static void execute(ServletContext context, HttpServletRequest request, HttpServletResponse response) {

    byte[] bytes = null;
    HashMap<String, Object> parametros = new HashMap<String, Object>();
    File reportFile = new File(context.getRealPath("WEB-INF//relatorios//formulario"));
    try {
    	SolicitacaoCadastroForm formulario = (SolicitacaoCadastroForm) request.getSession().getAttribute("formulario");
    	
		try {
			List<SolicitacaoCadastroForm> listaFormulario = new ArrayList<SolicitacaoCadastroForm>();
			listaFormulario.add(formulario);
            // PARAMETROS
            parametros.put("imagemTopo", getInputStreamImagemTopo(context));
            bytes = JasperRunManager.runReportToPdf(reportFile.getPath() + "//relatorio_solicitacao_formulario.jasper", parametros, new   JRBeanCollectionDataSource(listaFormulario));////relatorio_denuncia_geral.jasper", parametros, new JRBeanCollectionDataSource(listaDesaparecido));
        } catch (Exception e) {
            e.printStackTrace();
            return;
        }

        if (bytes != null && bytes.length > 0) {
            response.setContentType("application/download");
            response.setContentLength(bytes.length);
            ServletOutputStream ouputStream = response.getOutputStream();
            ouputStream.write(bytes, 0, bytes.length);
            ouputStream.flush();
            ouputStream.close();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

[/code]

Fala cara…

Este código faz isto. Eu uso na minha aplicação :wink:

public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException{
    	
    	// Obtem o contexto 
        ServletContext context = getServletContext();
    	
    	HttpSession session = request.getSession(true);
    	
    	ExtratoIR extratoIR = (ExtratoIR)session.getAttribute("controleExtratoIR");
    	
    	//Nome do arquivo
    	String fileName = "relatorioExtratoIR.pdf";
    	
    	String aplicpath = context.getRealPath("/");
    	
    	try {
    		
    		//Obtem as informações do Usuário
    	    UsuarioTO to = (UsuarioTO)session.getAttribute("usuario");
    		
    		// carrega os arquivos jasper   
            JasperReport relatorioJasper = (JasperReport)JRLoader.loadObject(context.getRealPath("/relatorios/realtorioExtratoBeneficiarioIR.jasper")); 
    		
            //Obtem da sessão a lista de recibos do reembolso
            List&lt;ReciboIRTO&gt; listaReembolso = extratoIR.getListaReembolso();
            
            //Obtem as informações do total do reembolso
            TotalReciboIRTO totalReciboIRTO = extratoIR.getTotalReciboIRTO();
            
            String participacao = extratoIR.getParticipacao();
            
            JRBeanCollectionDataSource beanDataSource = new JRBeanCollectionDataSource(listaReembolso);
            
            //Parâmetros do relatório
    		Map parametros = new HashMap();
    		parametros.put("aplicpath", aplicpath);
            parametros.put("matricula", to.getMatricula());
    		parametros.put("titular", to.getNome());
    		parametros.put("lotacao", to.getDescricaoLotacao());
    		parametros.put("participacao", participacao);    		
    		parametros.put("anoBase", extratoIR.getAno());
    		parametros.put("totalReciboIRTO", totalReciboIRTO);
    		
    		byte[] file = JasperRunManager.runReportToPdf(relatorioJasper,parametros, beanDataSource);

			response.setContentType("application/pdf");     
	        response.setContentLength(file.length);     
	        response.addHeader("Content-Disposition", "attachment; filename=" + "\"" + fileName + "\"");     
	        
	        ServletOutputStream outputStream = response.getOutputStream();     
	        outputStream.write(file, 0, file.length);
	        outputStream.flush();     
	        outputStream.close();
            
    	} catch (Exception e) {
			System.out.println("EROO: "+ e.getMessage());
		}
    }

Acho q no seu código só faltou isto:

[quote=warley]
Acho q no seu código só faltou isto:

[quote]
response.addHeader(“Content-Disposition”, “attachment; filename=” + “”" + fileName + “”");
[/quote][/quote]

Certo vou tentar usar.

[quote=guilherme2109][quote=warley]
Acho q no seu código só faltou isto:

[quote]
response.addHeader(“Content-Disposition”, “attachment; filename=” + “”" + fileName + “”");
[/quote][/quote]

Certo vou tentar usar.[/quote]

Cara era apenas isso mesmo

Vlwwwwwwww!!!