Alguém sabe onde posso encontrar referencias de como fazer um download de um arquivo via uma solicitação a um Serlvet?
Não quero que o usuário possa baixar o arquivo via url (www.dominio.com/arquivo.zip), esse arquivo deve estar fora desse contexto, talvez dentro do WEB-INF, sei lá, e que o usuário fizesse uma requisição a um servlet e q este retornasse o arquivo mediante alguns parametros (user, senha, file).
É possível? Alguém conhece alguma referencia, procurei no fórum e não encontrei algo direto.
Agradeço,
Eduardo
Eduardo, nao sei se eh o q vc quer…
mas uma vez tive q fazer algo parecido…gerar um relatorio em .pdf, por ex, e depois abrir a janela de download p/ o usuario baixa-lo…
se nao me engano mto, o componente q usei chama-se download4j…pesquise por isso aki no GUJ ou no Google q vc vai achar alguma coisa…
se achar o link, coloko aki p/ vc…
falow
Obrigado, encontrei esse topico no guj:
http://www.guj.com.br/forum/viewtopic.php?t=3052&highlight=download4j
vou procurar no google mais sobre isso!
Na sua servlet você poder fazer isso:
File file = new File("nomedoarquivo");
if (file.exists())
{
response.setHeader("Content-type", "application/octet-stream");
response.setHeader("Content-Disposition","attachment;filename="" + file.getName() + """);
FileInputStream in = new FileInputStream(file);
OutputStream out = response.getOutputStream();
int buflen = 1024;
byte[] buffer = new byte[buflen];
int read;
int length = 0;
while ((read = in.read(buffer, 0, buflen)) > 0) {
length += read;
out.write(buffer, 0, read);
}
response.setContentLength(length);
out.flush();
out.close();
in.close();
}
Valeu leonardo, funcionou muito bem!