----- Original Message -----
Sent: Thursday, August 08, 2002 12:12
AM
Subject: [java-list] Download de Arquivo
gravado em BD
PessoALL,
Estou com um problema e, quem sabe alguém pode me
ajudar...
Tenho um aplicativo faz upload de arquivos e os
grava em um banco de dados. Para reexibí-los, mais tarde, tenho uma página com
um link do tipo:
E mando abrir este link em outra janela. Nesta
página JSP (caa_exibir_anexo.jsp), faço uma pesquisa no banco de dados por
este anexo, e, quando o encontro, faço o seguinte:
response.setContentType(anexo.getMimeType());
ServletOutputStream so =
response.getOutputStream();
ByteArrayOutputStream b =
anexo.getArquivo();
so.write(b.toByteArray(), 0,
b.size());
so.flush();
E aí, o arquivo se abre nesta nova janela. Desde
que seja um .jpg, .doc, .xls e mais alguns. Se for um outro arquivo (.zip, por
exemplo), surge, como era de se esperar, a caixa de diálogo do navegador,
perguntando se quero 'Abrir' ou 'Salvar' o arquivo. Mas, quando escolho
'Salvar' e se abre a janela para escolher o nome e o lugar onde salvar o
arquivo, o nome que surge é 'caa_exibir_anexo.jsp', ao invés do nome real do
arquivo (meuarquivo.zip, por exemplo, que está em armazenado no atributo anexo.getNomeArquivo()). Isto é extremamente ruim,
pois o arquivo não vem nem com o nome nem com a extensão esperada, tendo que
ser renomeado antes de ser aberto.
Alguém sabe me dizer como posso proceder
para fazer o navegador entender que o arquivo que eventualmente será salvo tem
outro nome ???
Já tentei algumas combinações com:
response.setHeader("Name",
"MEUARQUIVO.ZIP");
e algumas outras, mas não obtive
sucesso.
Lembro que, por determinação de projeto, não pode
ser um servlet. Tem que ser JSP.
Alguém tem uma luz ??????
[]s
Oscar