----- 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