Boa Tarde a Todos,
Estou com um problema que não considero muito, mas ja esta enchendo…é o seguinte uso uma API para gerar um .PDF, ele gera, tudo certo eu consigo abrir e tudo mais, mas agora, quero gerar um relatorio dinamicamente em uma aplicação WEB, faço as consultas, e preencho o Relatori normalmente, mas gostaria de saber com fazer para quando o cara submeter a pagina e eu mandar para uma outra pagina, como fazer para abrir aquela janela que tem as opções de salvar, abrir ou cancelar o download, como fazer??
Aqui esta meu codigo:
package intranet.portalcred.implantacao.command;
import intranet.portalcred.bean.User;
import intranet.portalcred.factory.AbstractCommand;
import intranet.portalcred.implantacao.facade.GenerateRalatorioImpFacade;
import java.io.ByteArrayOutputStream;
import java.util.Enumeration;
import java.util.Map;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class GenerateRelatorioImpCommand implements AbstractCommand{
public void execute(HttpServletRequest req,HttpServletResponse res, ServletContext context){
GenerateRalatorioImpFacade grFacade = new GenerateRalatorioImpFacade();
User user = new User();
user.setVisitId(req.getParameter("Vid").replace("|",""));
user.setPrestId(req.getParameter("Pid"));
user.setPath(context.getRealPath("/"));
user = grFacade.GenerateRelatorioImp(user);
try{
res.setHeader("Content-disposition", "attachment;filename=\""+user.getFile()+"\");
// aqui ira abrir a janela do tipo abrir ou salvar... caso queira abrir direto na pagina eh soh comentar essa linha
res.setContentType("application/pdf");
RequestDispatcher dispatcher = context.getRequestDispatcher("/Visualiza_visita.html?Pid="+user.getPrestId()+"&Action=implantacao.command.VisualizaVisita");
dispatcher.forward(req,res);
}catch(Exception e){
e.printStackTrace();
}
}
}
user.getFile() "Aqui é devolvido o nome do arquivo tipo ’ 2005_10_08_leod.pdf’ "
Então ele abre a janela mas não consigo abrir o arquivo da um erro estranho:
Adobe Reader could not open 2005_10_08_leod.pdf because it is either not a supported file type or because the file has been damaged (for example, it was sent as an email attachment and wasn’t correctly decoded).
Esse é o erro no Adobe.
Eu não sei como fazer ele saber qual o arquivo ele tem que mandar para o browser, pq o arquivo não esta na pasta atual da aplicação esta dentro do servidor em uma outra pasta como faço para “indicar” esse arquivo gerado.
Muito Obrigado pela Atenção.
Leonardo