Exporta um Arquivo

Pessoal nao estou conseguindo exporta um arquivo do java. veja meu código


byte[] b = compProgTotBO.printOrPreview(1, "IMP10081900001.txt")  
javax.servlet.http.HttpServletResponse response = (javax.servlet.http.HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();  
ServletOutputStream ouputStream;         
response.setContentType("application/force-download");    
//response.setContentType("application/pdf");     
response.setContentLength(b.length);    
//response.setHeader("Content-Disposition","inline; filename=report.pdf");     
  ouputStream = response.getOutputStream();  
  ouputStream.write(b, 0, b.length);     
  ouputStream.flush();     
  ouputStream.close();     
  //FacesContext.getCurrentInstance().responseComplete();  
        

jsp


<h:form>  
    <h:commandLink id="btnImprimir"   
                                         styleClass="botao"  
                                         value="#{msgCompProg['principal.btnImprimir']}"  
                                         action="#{dlgGridCompMB.imprimir}"                   />  
</h:form>  

Alguem sabe?

Oq é exportar? Download?

segue o trecho que codigo que faz isso.

FacesContext facesContext = FacesContext.getCurrentInstance();
		
		HttpServletRequest request = (HttpServletRequest) facesContext.getExternalContext().getRequest();
		HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
		OutputStream os = null;
		
		try {
			byte[] arquivo = //seu arquivo em array de byte
			
			os = response.getOutputStream();
			response.setContentType("application/pdf");
			response.setContentLength(pdf.length);
			response.setHeader("Content-disposition","attachment; filename=\""arquivo.pdf\"");
			os.write(pdf);
			os.flush();
		} catch (Exception e) {
			e.printStackTrace();
		} finally{
			try {
				if(os != null){
					os.close();
				}
				facesContext.responseComplete();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

t+

Esses código que vc postou está no meu, só que comentado!

ex:
desta forma que vc postou … ele abre o arquivo direto sem salvar

eu quero que ele salva e não abre intendeu?

Exportar = download

cara,

será que possivel fazer isso que vc quer? na minha opnião, acho que não.

t+

É possivel

ja fiz uma vez!

pior que este código é de um sistema que funciona este ex:

só que agora não esta funcionando, não sei pq =s