1 package org.ufcspa.simdecs.session.crud.admin;
3 import javax.faces.context.ExternalContext;
4 import javax.faces.context.FacesContext;
5 import javax.persistence.EntityManager;
6 import javax.servlet.ServletOutputStream;
7 import javax.servlet.http.HttpServletResponse;
9 import org.jboss.seam.annotations.In;
10 import org.jboss.seam.annotations.Logger;
11 import org.jboss.seam.annotations.Name;
12 import org.jboss.seam.annotations.web.RequestParameter;
13 import org.jboss.seam.log.Log;
15 import org.ufcspa.simdecs.entities.ArquivoRede;
17 @Name("downloadArquivoRede")
18 public class DownloadArquivoRede {
24 private EntityManager entityManager;
26 @In(value="#{facesContext.externalContext}")
27 private ExternalContext extCtx;
29 @In(value="#{facesContext}")
30 FacesContext facesContext;
33 private Long arquivoRedeId;
35 public String download() {
36 ArquivoRede arquivoRede = entityManager.find(ArquivoRede.class, arquivoRedeId);
37 HttpServletResponse response = (HttpServletResponse)extCtx.getResponse();
38 response.setContentType(arquivoRede.getContentType());
39 response.addHeader("Content-disposition", "attachment; filename=\"" + arquivoRede.getNome() +"\"");
41 ServletOutputStream os = response.getOutputStream();
42 os.write(arquivoRede.getData());
45 facesContext.responseComplete();
46 } catch(Exception e) {
47 log.error("\nFailure : " + e.toString() + "\n");