1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Criar File para Download

Olá a todos, boa tarde. Pessoal, meu problema consiste no seguinte:

Tenho uma método no qual constrói um arquivo XML de acordo com os parâmetros que são dados como entrada através de um formulário. Este método está funcionando perfeitamente, ou seja, cria um arquivo XML e o retorna como uma String.

O método no qual estou falando o seguinte abaixo.

private String printDocument(Document document) throws Exception {
    return new XMLOutputter(Format.getPrettyFormat()).outputString(document);
}

O método que recebe os parâmetros como entrada e cria o arquivo XML é o seguinte abaixo.

public String createVcdXML() throws Exception {
    // Removi o código que ficava aqui para deixar o poster mais limpo.
    document = new Document(VCD);

    return printDocument(document);
}

O que eu gostaria era de pegar esse arquivo XML que é gerado e criar um link para o usuário baixa-lo, logo após mandar gera-lo.

Para tal, tenho um Servlet que recebe os dados do formulário que são utilizado para gerar o arquivo XML e no response gostaria de mandar uma resposta que representasse o arquivo XML gerado.

Meu Servlet está da seguinte maneira

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String xml = "";
    CreateVCDProject project = new CreateVCDProject();   

    try {
        xml = project.createVcdXML();
    } catch (Exception ex) {
        Logger.getLogger("ERROR CREATE PLAIN: " + CreatePlainExecuteServlet.class.getName()).log(Level.SEVERE, null, ex);
    }

    response.setContentType("text/xml");
    response.setCharacterEncoding("UTF-8");
    response.getWriter().write(xml);
}

No lado cliente, tenho o código abaixo que poderia ser utilizado para gerar o link no qual bastaria o usuário clicar e fazer o download do arquivo.

success: function(responseXML) {
    $('.xml').html("<a title=\"Clique aqui baixar\" href=\"" + responseXML + "\"> Baixar XML </a>" );
}

Alguém saberia me dizer o que devo alterar em meu código pra que ele funcione da maneira que estou desejando?

Desde já obrigado pela ajuda de todos, abraços.

  • a dúvida seria, tu não consegue fazer com que apareça o xml para download no lado do cliente?

    Scotto   04 de jul de 2013
  • Olá Skybot, bom dia. É isso mesmo. Consigo gerar o XML e retorna-lo no responseXML, no entanto, não estou conseguindo fazer com o cliente baixe o arquivo XML gerado.

    jeovane.reges   04 de jul de 2013
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags ajax java jquery xml ou faça a sua própria pergunta.