Inicio > Java, JSF, NetBeans > Descargar un archivo .XLS o .PDF con JSF

Descargar un archivo .XLS o .PDF con JSF

agosto 15, 2008

Hola había tenido problemas al tratar de descargar un archivo desde el servidor, para que sea visualizado en los computadores clientes del sistema usando JSF, pero buscando un poco por allí pude encontrar como hacerlo, este método sirve para descargar archivos *.XLS y *.PDF con los que he probado, pero me imagino que debe funcionar para cualquier tipo de archivo, lo importante es reconocer que MIME Type tiene este archivo eso lo podremos encontrar en esta página.

File ficheroXLS = new File(strPathXLS);
FacesContext ctx = FacesContext.getCurrentInstance();
FileInputStream fis = new FileInputStream(ficheroXLS);
byte[] bytes = new byte[1000];
int read = 0;

if (!ctx.getResponseComplete()) {
   String fileName = ficheroXLS.getName();
   String contentType = "application/vnd.ms-excel";
   //String contentType = "application/pdf";
   HttpServletResponse response =
   (HttpServletResponse) ctx.getExternalContext().getResponse();

   response.setContentType(contentType);

   response.setHeader("Content-Disposition",
                      "attachment;filename=\"" + fileName + "\"");

   ServletOutputStream out = response.getOutputStream();

   while ((read = fis.read(bytes)) != -1) {
        out.write(bytes, 0, read);
   }

   out.flush();
   out.close();
   System.out.println("\nDescargado\n");
   ctx.responseComplete();
}

Saludos y espero que sea de utilidad para ustedes…

Anuncios
Categorías:Java, JSF, NetBeans Etiquetas:
  1. Yago Fernández
    octubre 13, 2009 en 10:11 am

    Si además de abrir el pdf se quisiese redireccionar a otra página, ¿cómo se podría hacer?.
    Probé de varias formas, jsf, jtld, javascript, …, pero el responseComplete no hay manera.

  2. jroge
    octubre 28, 2011 en 8:07 pm

    como hago para abrir otra ventana y ver el pdf ???

  3. junio 22, 2012 en 1:43 am

    It is appropriate time to make some plans for the future and it is time to be happy.
    I’ve read this post and if I could I desire to suggest you few interesting things or advice. Maybe you can write next articles referring to this article. I want to read more things about it!

  4. enero 19, 2013 en 10:00 am

    I am really pleased to read this web site posts which contains lots of valuable facts,
    thanks for providing these statistics.

  5. enero 19, 2013 en 2:04 pm

    I enjoy what you guys are up too. This type of clever work
    and reporting! Keep up the superb works guys I’ve included you guys to my blogroll.

  6. enero 19, 2013 en 3:21 pm

    Hello, i think that i saw you visited my website so i came to go back the prefer?
    .I am trying to find issues to improve my website!

    I guess its ok to make use of some of your concepts!!

  7. abril 21, 2013 en 11:29 pm

    Your post features established beneficial to us.
    It’s quite educational and you are certainly extremely well-informed
    in this region. You have popped our sight to numerous opinion of this kind of
    topic using intriquing, notable and reliable articles.

  1. No trackbacks yet.
Los comentarios están cerrados.
A %d blogueros les gusta esto: