Download de arquivos com JSF

3 respostas
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.

3 Respostas

guilhermehbueno

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.

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();

}
TiagoS

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

D

?

Criado 25 de outubro de 2010
Ultima resposta 7 de out. de 2012
Respostas 3
Participantes 3