turma nunca precisei desenvolver nenhuma aplicacao q fzsse download, nao sei o conceito e nem como se faz em jsp algume pode dar uma ajuda, procurei no google e o q apararce é download do java na sun e essas coisas !!!
Como faz download em java ? [RESOLVIDO]
5 Respostas
como assim?
blz deu uma luz, mas nao consegui, algume pode ajudar eu faco assim
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename = "+ meuArquivo.getAbsolutePath() + + "\"");
o caminho onde esta o meu xls é “c:/dados.xls”, qnd abre a telinha do download arquivo vem vazio e o nome dele aparece “c__dados.xls_” pq ?
Não é bem assim, o nome do seu arquivo não tem haver com o lugar que ele esta na sua maquina.
Para fazer isso vc deve utilizar um response.getOutputStream e escrever os bytes do arquivo de vc deseja fazer download com o metodo write.
Ai vc da um Outputstream.flush()
No filename vc deve colocar apenas dados.xls sem o C:\ que deve funcionar perfeitamente.
// O codigo pode não compilar prq eu fiz de cabeça
OutputStream out = response.getOutputStream();
out.write(seusBytesDoArquivo); //vc tem que pegar seu arquivo com um inputstream, ler os bytes para poder escrever aqui.
out.flush();
out.close();
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=dados.xls" );
Entendeu?
po vlw !!! mas um pouco antes de vc dar a luz eu vi aqui no jGuru alias muito bom esse site !!! mas obrigado do mesmo jeito vlw mesmo !!!
bom turma para os proximos q verão esse post fica o codigo !!!
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename = \" "+ nomeDoArquivo + "\"");
InputStream isStream = null;
ServletOutputStream sosStream = null;
try
{
isStream = new FileInputStream(meuArquivo);
sosStream = response.getOutputStream();
int ibit = 256;
while ((ibit) >= 0)
{
ibit = isStream.read();
sosStream.write(ibit);
}
}
catch (IOException ioeException){
ioeException.printStackTrace();
}
sosStream.flush();
sosStream.close();
isStream.close();