Download de arquivos com JSF

no meu sistema criei uma tela para uplod de arquivos com rich:fileUpload, onde é possível savar qualquer tipo de arquivo em um campo blob da tabela. O que preciso fazer agora é um link para recuperar esse arquivo da tabela e abrir ou salvar na tela do cliente.

Fico muito grato se alguém souber e puder me ajudar.

[quote=TiagoS]no meu sistema criei uma tela para uplod de arquivos com rich:fileUpload, onde é possível savar qualquer tipo de arquivo em um campo blob da tabela. O que preciso fazer agora é um link para recuperar esse arquivo da tabela e abrir ou salvar na tela do cliente.

Fico muito grato se alguém souber e puder me ajudar.[/quote]


Opa, tente assim:

public void baixarArquivo(){

FacesContext faces = FacesContext.getCurrentInstance();
		    HttpServletResponse response = (HttpServletResponse) faces.getExternalContext().getResponse();
		    response.setContentType(arquivo.getContentType());
		    response.setContentLength(arquivo.getContentLength());
		    response.setHeader("Content-disposition", "attachment; filename="+arquivo.getNmArquivoReal());
                    //arquivo.getConteudo() retorna um array de bytes
		    response.getOutputStream().write(arquivo.getConteudo());
		    faces.responseComplete();

}

Muito obrigado pela atenção, mas ainda não esta dando certo, o problema é que não tenho nem idéia do que deve ser feito, se alguem puder me indicar algum caminho ficaria mais uma vez agradecido

?