Pessoal,

a implementação deu certo. Ficou assim:

response.setContentType("*/*");
ServletOutputStream out = response.getOutputStream();
FileInputStream in = null;
try
{
  in = new FileInputStream(caminhoArquivo);
  byte[] buffer = new byte[4 * 1024];
  int bytesRead;
  while((bytesRead = in.read(buffer)) != -1)
  {
     out.write(buffer, 0, bytesRead);
  }
}
finally
{
  if(in != null)
     in.close();
}

Só tem um problema: o nome do arquivo que aparece para o usuário fazer o download é o mesmo nome do servlet, e não o nome original do arquivo. Alguém tem alguma sugestão para alterar o nome do arquivo?

Atenciosamente,

Hildeberto Mendonça

Mentores Consultoria LTDA.
www.mentores.com.br



Hildeberto Mendonça wrote:

Obrigado. Vou testar e te dou um feedback.

Atenciosamente,

Hildeberto Mendonça
Mentores Consultoria LTDA.
www.mentores.com.br



Francisco Pinto wrote:

Pra que voce faz o Redirect ai? Entendi que queria fazer um Download, mas que esse não fosse visualizado no browser, mas salvo como um download.



Um download é mais ou menos assim:



response.setContentType("xxxx/yyyy");



...



out = response.getOutputStream();



out.write( bytes );



...



O redirect anula o content-type ai. O redirect envia o usuário pro outro link. Tudo que tenha sido "escrito" no response, é anulado (contanto que não tenha sido despachado (auto-flush) pro cliente).



-----Mensagem original-----
De: Hildeberto Mendonça [mailto:[EMAIL PROTECTED]
Enviada em: quinta-feira, 11 de março de 2004 21:39
Para: [EMAIL PROTECTED]
Assunto: Re: RES: [cejug-discussao] Apresentação da tela de download



Não adiantou. O browser continuar abrindo a aplicação necessária.

Veja a implementação.



response.setContentType("xxxx/yyyy");

response.sendRedirect(link);



Atenciosamente,



Hildeberto Mendonça

Mentores Consultoria LTDA.

www.mentores.com.br







Francisco Pinto wrote:



Hildeberto,




Basta mudar o Content-Type pra algo que o browser não reconheça. Algo como


"xxxx/yyyy", ou similar.






-----Mensagem original-----


De: Hildeberto Mendonça [mailto:[EMAIL PROTECTED]


Enviada em: quinta-feira, 11 de março de 2004 12:12


Para: [EMAIL PROTECTED]


Assunto: [cejug-discussao] Apresentação da tela de download




Pessoal,




numa aplicação JSP/Servlet estou disponibilizando um arquivo para


download. Gostaria que esse arquivo não fossa aberto pela aplicação


configurada para tal, por exemplo: um arquivo pdf não abriria


automaticamente pelo Acrobat Reader, um doc não abriria automaticamente


pelo Word. Há algo que possa ser feito para que a tela de download


apareça, independente do formato do arquivo?




Atenciosamente,










-------------------------------------------------------------------------------------------


Ceara' Java User Group




Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]

Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]

Falar com o administrador? e-mail para: [EMAIL PROTECTED]




-------------------------------------------------------------------------------------------



Ceara' Java User Group




Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]

Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]

Falar com o administrador? e-mail para: [EMAIL PROTECTED]






-------------------------------------------------------------------------------------------


Ceara' Java User Group



Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]

Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]

Falar com o administrador? e-mail para: [EMAIL PROTECTED]






Responder a