--
Você recebeu essa mensagem porque está inscrito no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javasf+un...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/javasf.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/636d977f-e317-4989-b823-db0e33922fb1%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/CAAMaVtQ2egm93LD4sM%2BEWnsPD4N0Piq%3DaVqSW6KrztsVBAuagA%40mail.gmail.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/7bc97bcb-1219-402e-83a2-df90bbfbf147%40googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/3fe21444-0de8-4064-a468-0bd08e74d450%40googlegroups.com.
<p:commandButton icon="fa fa-fw fa-download" title="Download" ajax="false" > <f:setPropertyActionListener value="#{anexo.nomeAnexo}" target="#{downloadAtividadeAnexoBean.nomeAnexo}" /> <f:setPropertyActionListener value="#{cadastroAtividadeBean.codigoAtividade}" target="#{downloadAtividadeAnexoBean.pasta}" /> <p:fileDownload value="#{downloadAtividadeAnexoBean.arquivoDownload}"></p:fileDownload></p:commandButton>package com.porto.npf.sgpsweb.controller;
import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.InputStream;import java.io.Serializable;
import javax.faces.bean.SessionScoped;import javax.inject.Named;
import org.apache.log4j.Logger;import org.primefaces.model.DefaultStreamedContent;import org.primefaces.model.StreamedContent;
import com.porto.npf.sgpsweb.common.SGPSConstants;import com.porto.npf.sgpsweb.util.MGUtils;
@Named@SessionScopedpublic class DownloadAtividadeAnexoBean implements Serializable { private static final long serialVersionUID = 1L; private Logger logger = Logger.getLogger(DownloadAtividadeAnexoBean.class.getName()); private StreamedContent arquivoDownload; private String nomeAnexo; private String pasta; private Integer tabIndex; public DownloadAtividadeAnexoBean(){ } public void download() throws FileNotFoundException { String nomeArquivo = MGUtils.getRealPath("DOCS") + "/" + this.nomeAnexo; logger.info("Arquivo : " + this.nomeAnexo); if ("LOCAL".equals(SGPSConstants.AMBIENTE)) { nomeArquivo = "c:\\workspace3\\sgps-primefaces\\src\\main\\webapp\\documentos\\" + nomeAnexo; } else { nomeArquivo = "/opt/repo/documentos/" + pasta + "/" + nomeAnexo; } this.tabIndex = 2; // pega a extensao do arquivo String extensao = ""; if (this.nomeAnexo.endsWith(".zip")) { extensao = "zip"; } else if (this.nomeAnexo.endsWith(".pdf")) { extensao = "pdf"; } else if (this.nomeAnexo.endsWith(".docx")) { extensao = "docx"; } else if (this.nomeAnexo.endsWith(".jpg")){ extensao = "jpg"; } else if (this.nomeAnexo.endsWith(".xls")){ extensao = "xls"; } else if (this.nomeAnexo.endsWith("*.xlsx")){ extensao = "xlsx"; } else if (this.nomeAnexo.endsWith(".ppt")) { extensao = "ppt"; } else if (this.nomeAnexo.endsWith(".pptx")) { extensao = "pptx"; } InputStream stream = new FileInputStream(nomeArquivo); this.arquivoDownload = new DefaultStreamedContent(stream, "application/"+extensao, nomeAnexo); }
public StreamedContent getArquivoDownload() { return arquivoDownload; }
public void setArquivoDownload(StreamedContent arquivoDownload) { this.arquivoDownload = arquivoDownload; }
public String getNomeAnexo() { return nomeAnexo; }
public void setNomeAnexo(String nomeAnexo) { logger.info("Nome do arquivo recebido : " + nomeAnexo); this.nomeAnexo = nomeAnexo; }
public Integer getTabIndex() { return tabIndex; }
public void setTabIndex(Integer tabIndex) { this.tabIndex = tabIndex; }
/** * @return the pasta */ public String getPasta() { return pasta; }
/** * @param pasta the pasta to set */ public void setPasta(String pasta) { this.pasta = pasta; } }

Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/770934f0-b7e3-44cd-9142-a7ffbd0a2a4b%40googlegroups.com.
/** * Faz o downloado do arquivo * @param nome * @return */ public StreamedContent baixarArquivo(String nome) { StreamedContent file = null; String extensao = "application/pdf"; byte[] arquivoByte = null; InputStream inputStream = FTPTransfer.download("6143703.pdf", "documentos", "PED4"); file = new DefaultStreamedContent(inputStream,extensao,nome); return file; }<p:commandButton icon="fa fa-fw fa-download" title="Download" ajax="false" onclick="Primefaces.monitorDownload(start, stop);" immediate="true"> <p:fileDownload value="#{downloadAtividadeAnexoBean.baixarArquivo(anexo.nomeAnexo)}" /></p:commandButton>
/** * Faz a recuperação do arquivo * @param nomeArquivo * @param directoryWork * @param pasta * @return */public static InputStream download(String nomeArquivo, String directoryWork, String pasta) { FTPClient ftp = new FTPClient(); InputStream arqRetorno = null; try { ftp.connect(SGPSConstants.IP_SERVIDOR_FTP); ftp.login(SGPSConstants.USER_FTP, SGPSConstants.SENHA_FTP); ftp.changeWorkingDirectory("/opt/repo" + directoryWork + "/" + pasta + "/"); String[] arq = ftp.listNames(); String url = "/opt/repo" + directoryWork + "/" + pasta + "/" + nomeArquivo; FileOutputStream fos = new FileOutputStream(url); if (ftp.retrieveFile(nomeArquivo, fos)) { arqRetorno = ftp.retrieveFileStream("/opt/repo/documentos/fotos/" + nomeArquivo); System.out.println("Download efetuado com sucesso!"); } else { System.out.println("Erro ao efetuar download do arquivo."); } } catch (IOException e) { e.printStackTrace(); } return arqRetorno; }Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/6e49bf47-4e3b-472f-be7d-485e835c2362%40googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/CAC82YOOUsWvsvo1Aq_ReeOHR%2B0_dcqXPPuEr0vNbw7WtvtzzAw%40mail.gmail.com.