Boa tarde pessoal, tudo em ordem?
Pessoal, vamos la … estou utilizando o fileUpload do Primefaces porem ao selecionar uma imagem ele não “entra” na classe que chamo.
Xhtml
[code]<?xml version="1.0" encoding="UTF-8" ?>
[/code]
Bean
[code]package formafit.ManagedBeans;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.primefaces.event.FileUploadEvent;
import org.primefaces.event.FlowEvent;
import formafit.controle.ControleFactory;
import formafit.entidades.Alunos;
@ManagedBean(name = “uploadFotoBean”)
@RequestScoped
public class UploadFotoBean {
private boolean skip;
private Alunos alunos;
private List<Alunos> lstAlunos = new ArrayList<Alunos>();
public boolean isSkip() {
return skip;
}
public void setSkip(boolean skip) {
this.skip = skip;
}
public Alunos getAlunos() {
return alunos;
}
public void setAlunos(Alunos alunos) {
this.alunos = alunos;
}
public List<Alunos> getLstAlunos() {
return lstAlunos;
}
public void setLstAlunos(List<Alunos> lstAlunos) {
this.lstAlunos = lstAlunos;
}
public void upload(FileUploadEvent event) {
String nomeImagem = event.getFile().getFileName();
System.out.println("nome da imagem é " + nomeImagem);
}
}
[/code]
Alguem sabe me dizer o pq não acessa, tb tentei utilizar o SessionScope e o ViewScope.
Vlwwww
O arquivo que você está enviando é compatível com os valores definidos na tag allowTypes ?
Colocou o filtro no web.xml ?
Boa noite pessoal, primeiramente agradeço aos posts com ajuda.
Não respondi antes que precisei ir para ma reunião.
Rodrigo, estou subindo sim uma imagem que a extensão esta no filtro, o problema é que ele nem chama o metodo no bean, ele aparece na tela como carregando e no final nao faz mais nada.
Miguel, vi o tutorial as libs que vc mencionou eu não tenho, vou inseri-las
d34d_d3v1l, não inseri o filtro no web.xml, se não for pedir demais pode me passar um exemplo do filtro?
Pessoal, mais uma vez agradeço a ajuda de todos.
Amanha volto a mexer nisso e funcionando posto aqui.
Vlwwww
Uma boa noite a todos.
[]s
Ta bom…
Vc precisa de algumas dependencias… Mas isso vc ja deve ter cobrido ne?
o Filter no web.xml
//considere:
<servlet>
<servlet-name>facesServlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
....
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>facesServlet</servlet-name>
</filter-mapping>
Pessoal, primeiramente desculpem pela demora em postar o retorno.
Deu certo … muito obrigado a todos pela ajuda.
Caso alguem precise, segue o codigo que foi feito.
Jar utilizados
- commons-io-2.4.jar
-commons-fileupload-1.2.2.jar
web.xml
[code]
PrimeFaces FileUpload Filter
org.primefaces.webapp.filter.FileUploadFilter
thresholdSize
51200
PrimeFaces FileUpload Filter
Faces Servlet
[/code]
xhtml
[code]<?xml version="1.0" encoding="UTF-8" ?>
[/code]
Bean
[code]package formafit.ManagedBeans;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.primefaces.event.FileUploadEvent;
import org.primefaces.model.DefaultStreamedContent;
import org.primefaces.model.StreamedContent;
@ManagedBean(name = “uploadFotoBean”)
@SessionScoped
public class UploadFotoBean {
public void handleFileUpload(FileUploadEvent event) {
try {
File targetFolder = new File("C:\\fotos");
InputStream inputStream = event.getFile().getInputstream();
OutputStream out = new FileOutputStream(new File(targetFolder,
event.getFile().getFileName()));
int read = 0;
byte[] bytes = new byte[1024];
while ((read = inputStream.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
inputStream.close();
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
[/code]
[]s