Componente de upload do PrimeFaces não está chamando o método do bean

Estou tentando usar o componente de upload de arquivos do Primefaces, mas não está chamando o método do bean… por que será?

<h:body> <h:form> <p:fileUpload fileUploadListener="#{uploadBean.up}" /> </h:form> </h:body>

[code]@RequestScoped
@ManagedBean
public class UploadBean {

public void up(FileUploadEvent event) {
	UploadedFile file = event.getFile();
            System.out.println(">>> Nome do arquivo="+file.getFileName());[/code]

Não aparece este println no console do Glassfish…

E ai cara beleza??

O componente fileUpload do primefaces necessita de configurações adicionais do web.xml, verifique se você fez isso.
Caso não tenha feito adicione as seguinte linhas ao seu web.xml

<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>Faces Servlet</servlet-name> </filter-mapping>

Lembre-se também que para funcionar esse componente precisa das bibliotecas:

commons-fileupload (1.2.1)
commons-io (1.4)

Abraços

Configurou o filter no web.xml ?

Dá uma olhada no passo a passo: http://quebrandoparadigmas.wordpress.com/2010/07/06/file-upload-com-primefaces-e-jsf2/

Esse artigo citado ai em cima e bacana… =)

Me ajudou muito quando precisei implementar um upload de arquivo…
Outra coisa, so consegui implementar mudando o escopo do bean para session,
como request não funcionou não…

Abraços

Valeu, era o filter mesmo.

Fez o upload, mas deu erro ao abrir o arquivo. Um arquivo txt subiu, mas ficou com conteúdo em branco, e um jpg não mostra a imagem, ao tentar abrir…

Ops, era um pequeno erro na manipulação do FileOutputStream… agora deu certo.

Posta o código da solução cara,
assim outras pessoas terão um exemplo para se basear.

Abraços

O erro que estava dando era porque não estava dando write no novo arquivo.

[code] UploadedFile file = event.getFile();

	try {
		FileOutputStream outPutStream = new FileOutputStream(
				"C:\\temp\\upload\\"
						+ file.getFileName());
                    outPutStream.write(file.getContents());
                    
                    outPutStream.flush();
                    outPutStream.close();
            }

[/code]

Bom dia,

Estou usando o primefaces 3.3.1, adicionei o filtro no web.xml, porém o eclipse me mostra a seguinte mensagem:

O meu bean continua sem ser chamado pelo componente de upload do primefaces.

Alguém sabe o que pode ser?