fajo
Novembro 23, 2011, 10:58am
#1
Oi pessoal,
estou criando um arquivo xml com alguns dados e já consegui q ele gravasse o arquivo no disco:
XMLOutputter xout = new XMLOutputter();
try {
FileWriter arquivo = new FileWriter(
new File("/home/usuario/arquivo.kml"));
xout.output(documento, arquivo);
} catch (IOException e) {
}
mas gostaria q em vez de salvar o arquivo, fosse mostrado a tela de download no navegador.
Pesquisa aqui no GUJ ou google como fazer download de arquivo.
Ou vc já pesquisou e está com erro no seu código?
fajo
Novembro 23, 2011, 2:03pm
#3
Já pesquisei e encontrei alguns exemplos, o problema é q já tenho q ter o arquivo pronto; no código acima postado, o arquivo só será gerado na linha
xout.output(documento, arquivo);
e já é gravado.
O meu problema é pegar o conteudo do xml - Document documento = new Document(kml); - gravar no arquivo e ai passar para o response ou outra coisa, já tentei assim:
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
response.addHeader("Content-Disposition",
"attachment; filename=coordenadas.kml");
response.setContentType("application/download");
ServletOutputStream outStream = response.getOutputStream();
try {
outStream.print(documento.toString());
outStream.flush();
} finally {
outStream.close();
}
até q mostrou a tela de download, mas o conteúdo do arquivo não é o esperado.