Download de arquivo com Java

Se você gostaria que quando o usuário clicasse num link ao invés de ser exibido uma imagem (ou qualquer outro arquivo) fosse apresentado para ele a telinha de download você está no lugar certo.

Para que isso ocorra você terá que forçar para que o navegador mostre a tela de download, se for apenas redirecionado para o caminho do arquivo e este for uma imagem por exemplo o navegador irá tentar exibir a imagem.
Primeiro você vai precisar obter o objeto HttpServletResponse (neste caso foi usado para JSF)

HttpServletResponse response = (HttpServletResponse)
FacesContext.getCurrentInstance().getExternalContext().getResponse();

Após esse passo deve ser setado o nome do aquivo para download

response.setHeader("Content-Disposition",
"attachment;filename=\"" + nomeDoArquivo + "\"");

E agora a “mágica”, o que vai forçar o navegador mostrar a tela de download, mesmo que ele seja capaz e exibir o tal arquivo

response.setContentType("application/download");

Você ainda poderá definir outras informações como o charset, ou o tamanho do aquivo

response.setCharacterEncoding("ISO-8859-1");
response.setContentLength(arquivo.length);

Pra terminar pegue a saída padrão, escreva o arquivo e finalize

OutputStream out;
out = response.getOutputStream();
out.write(arquivo);
out.flush();
out.close();
FacesContext.getCurrentInstance().responseComplete();

Segue o código completo:
Read the rest of this entry »

 

Olá, mundo!

Como todo programador que estuda e aprende por conta – autodidata – encontrei por ai muitos tutoriais e eles (quase) sempre começam com um “Olá, mundo!” por isso deixei o título do meu primeiro post no meu blog com o título padrão. Só alterando o conteúdo do mesmo(deixei no final o post original).

A minha intenção neste blog é expressar as minhas ideias, na maioria dos casos sobre desenvolvimento e também do mundo Linux, porem as vezes pretendo expor os meus pontos de vista sobre assuntos variados.

Tenho a intenção de convidar alguns amigos para postarem aqui também. Expressarem suas ideias e publicarem tutorias que possam ajudar programadores e desenvolver seus sistemas de forma mais rápida, simples e eficaz.

Obrigado a todos que venham a acessar este blog, e os convido à deixarem suas opiniões, sejam elas favoráveis ou não.

Pra finalizar deixo aqui uma frase que procuro sempre seguir:

Reputação é aquilo que as outras pessoas pensam sobre você,

Caráter é aquilo que você é.

Faça o certo porque é certo,

não porque tem gente olhando!”.

Post original:

Bem-vindo ao WordPress. Esse é o seu primeiro post. Edite-o ou exclua-o e comece a brincadeira!