Estou gerando um arquivo csv e depois preciso abrir este mesmo arquivo porem quando antes de abrir o arquivo preciso que seja mostrado uma caixa com as opções de Abrir, Salvar e Cancelar
No firefox isto ocorre porem no IE o arquivo csv é aberto automaticamente pelo browser.
Alguem sabe me dizer o que preciso fazer, sera algum parametro que preciso setar no response antes de chamar o response.sendRedirect
Segue o codigo abaixo:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ArquivoCVS arquivoCVS = new ArquivoCVS();
List<List<String>> linha = new ArrayList<List<String>>();
List<String> coluna = new ArrayList<String>();
for(int i=0; i<2; i++){
coluna.add("teste");
}
linha.add(coluna);
arquivoCVS.escreverArquivo("/home/farzac/Server/glassfish3/glassfish/domains/domain1/applications/ProjArquivoTexto/cons_config_exec.csv", linha);
response.sendRedirect("/ProjArquivoTexto/cons_config_exec.csv");
}
Nesse caso é necessário incluir o header “contentDisposition: attachment” na resposta HTTP. Ele é responsável por informar ao browser que o conteúdo deve ser tratado como “arquivo para download” e não como “corpo” da página solicitada.
Sem este cabeçalho tudo fica a critério do browser: Para o IE o arquivo é o corpo da página e mostra na própria janela, já o Firefox interpreta que é um download.
Ah, e só lembrando: não é possível setar cabeçalhos HTTP em um redirect. Precisa gerar a resposta no próprio Servlet.
farzac
Bom dia gomesrod
Voce pode dar uma exemplo?
gomesrod
Fazendo de cabeça, a sintaxe pode não estar 100% mas é mais ou menos isso:
A propósito… a gravação desse arquivo é mesmo necessária (ou seja, precisa ficar no servidor depois)? Ou era só uma gambiarra para fazer o redirect?
farzac
Boa tarde Amigos
Deu certo o processo de gravar as informações em um arquivo.
Porem o arquivo csv esta sendo gravado com caracteres alterados.
Esta??o ao inves de Estação
A minha duvida é, preciso ajustar meu processo para corrigir o caracter no momento que busco a informação atraves de uma pagina ou no momento que eu for salvar o arquivo preciso salvar de forma correta?