Versão do RichFaces: 3.3.3
Problema: Quando o arquivo está acima do tamanho permitido, a aplicação trata este “problema”, gera uma mensagem na tela de tamanho acima do permitido. Até aí tudo certo.
No internet explorer (versão que utilizo é a 8), mesmo dando a mensagem de erro, o navegador fica processando, e na barra de status fica escrito: “Fazendo download da imagem http://localhost:8080/nomedosistema/a4j/s/3_3_3.Finalorg.ajax4…”
Ou seja, a aplicação não consegue parar a requisição do envio do arquivo, no internet explorer.
O código:
<rich:fileUpload fileUploadListener="#{meuBean.carregarArquivo}"
maxFilesQuantity="99" status="nenhum" sizeErrorLabelClass="Tamanho não permitido"
onupload="if(#{meuBean.fileWrapper != null}) { if(!confirm('#{mensagens.CDU004_M17}'))return false; }"
id="upload" immediateUpload="false" autoclear="true" sizeErrorLabel="Tamanho não permitido."
clearAllControlLabel="Limpar" addControlLabel="Adicionar" uploadControlLabel="Carregar" cancelEntryControlLabel="Cancelar"
clearControlLabel="Limpar" stopControlLabel="Parar" doneLabel="Carregado"
allowFlash="false" acceptedTypes="doc, docx, xls, xlsx, ppt, pptx, odt, ods, odp, odd, zip, rar, jpg, pdf">
<a4j:support event="onuploadcomplete" action="#{meuBean.salvarArquivo}"
reRender="painelDadosUpload, imagem, tabs" />
</rich:fileUpload>
public void carregarArquivo(UploadEvent event) throws IOException {
if (event.getUploadItem().getFileSize() > meuBean.TAMANHO_MAX_ARQUIVO) {
this.arquivoCarregado = false;
} else {
this.fileWrapper = FileWrapperUtil.uploadItemToFileWrapper(event.getUploadItem(), false);
this.arquivoCarregado = true;
}
}
Alguém sabe como dar um “stop” no envio?! No Firefox funciona normalmente.