Não consigo encontrar solução, nem alguém com o mesmo problema que eu.
Estou utilizando o componente do FileUpload em JSF, utilizando a biblioteca primefaces-3.4.2.jar
Quando utilizava o componente se o atributo auto, na primeira vez que a página era carregada o componente não aparecia. Eu precisava recarregar o navegador para que o componente aparecesse.
Acrescentei o atributo auto e o componente começou a aparecer sempre, no entanto, na primeira vez que utilizo o componente, ele não faz nada (não chama o método que passei). A partir do segundo arquivo que eu faço upload o componente funciona normalmente.
Alguém tem alguma sugestão de como corrigir esse problema (se tiver como)?
<hr/><h:formid="formImportarPeriodo"><p:growlid="message"sticky="false"life="10000"/><h:outputTextvalue="Selecione um arquivo (.txt) para importar:"style="font-size:1.1em;"/><p:fileUploadfileUploadListener="#{importacaoBean.validarImportacaoPeriodo}"mode="advanced"dragDropSupport="false"auto="true"update=":formImportarPeriodo:message"sizeLimit="900000000"fileLimit="1"allowTypes="/(\.|\/)(txt)$/"style="margin-top:10px;"/></h:form>
</fieldset>
no Bean:
publicvoidvalidarImportacaoPeriodo(FileUploadEventevent){StringnomeArquivo=event.getFile().getFileName();//verifica nome do arquivoif(!nomeArquivo.contains("-PER")&&!nomeArquivo.contains("-EVE")){//arquivo não é de período nem de eventoFacesMessagemsg=newFacesMessage(“Nãoépossívelimportararquivosquenãosejamdeperíodosoueventos”);FacesContext.getCurrentInstance().addMessage(null,msg);}else{//arquivo de período ou evento. Chama método de importaçãoimportarArquivo(event);}}
Adicionei também as bibliotecas commons-fileupload-1.3 e commons-io-2.4
Alys
É um problema parecido com o deste outro tópico? Veja se o que está descrito aí te ajuda.
Obs: sempre use as tags Code para postar códigos. Facilita a leitura
P
prikido
Na verdade o upload funciona. O problema é que logo da primeira vez que eu chamo não funciona.
Antes de eu utilizar o auto quando eu carregava a página, o componente não aparecia. Quando eu recarregava a página o componente aparecia.
Mudei o componente acrescentando o auto e o componente agora aparece. Mas a primeira vez que eu utilizo o FileUpload ele não faz nada.
A partir da segunda vez ele começa a funcionar normalmente.
Queria saber se isso é um problema do componente ou algum erro meu. Além disso, como eu posso fazer para que esse erro, caso seja do componente, não fique visível para o usuário, pois pode dar a falsa impressão de que a importação funcionou sem ter executado nada.