Pessoal, tenho uma aplicação que acessa uma base de dados e gera um arquivo txt para exportar os dados.
Ao final do processo de geração eu gero o link com o nome do arquivo selecionado no início do processo.
Porém, por ser um arquivo TXT ao criar o link no browser o mesmo exibe o arquivo, ao inves de mostrar a caixa para download.
Como faço para que seja aberta a opção de download e não o arquivo na tela do navegador?
Essa dúvida acredito que seja mais para HTML do que propriamente JAVA Web, mas se alguem puder me ajudar…
Só que informando isso na página, é feito o download da página que contém o link e não do conteúdo.
Exemplo:
Na página teste.jsp tenho um link para um arquivo teste.txt
Aí informando esse comando acima no jsp ele faz o download do jsp.
O que quero e fazer download do arquivo texto.
Alguém sabe uma maneira para fazer isso?
Obrigado.
J
jks1903
ninguém sabe?
J
jks1903
Estou evoluindo aos poucos, heheh
Consegui implementar um exemplo que encontrei.
Segue o código:
<%Filearquivo=newFile(getServletContext().getRealPath("/"),request.getParameter("arquivo"));if(!arquivo.exists()){%><scripttype="text/javascript"language="javascript">alert('Arquivodesejadonãoencontrado.Verifiqueageraçãodoarquivo.');</script><%}else{response.setContentType("application/octet-stream");// comento a linha abaixo para não forçar o download. vai abrir na própria janela.response.setHeader("Content-Disposition","attachment; filename="+request.getParameter("arquivo"));InputStreamin=newFileInputStream(arquivo);PrintWriteroutput=response.getWriter();intbit=256;try{while((bit)>0){bit=in.read();output.write(bit);}}catch(IOExceptione){e.printStackTrace(System.out);}output.flush();output.close();in.close();}%>
Porém essa rotina sempre gera o caracter “?” ao final do arquivo texto, e isso gera erro na validação.
Alguém sabe me informar pq isso acontece e como corrigir?
Vlw.
J
jks1903
Bom, consegui.
O problema do caracter “?” era devido ao fim do arquivo.
Apenas alterei esse trecho de código, onde estava: