Bom dia, galera!
Tudo bem?
É o seguinte, usando o richfaces, estou fazendo todo um processo de upload de imagens. Uso o rich:fileUpload e consigo manipulá-la tranquilamente.
Para exibir na tela o carregamento, eu uso um h:graphicImage com o caminho de uma imagem padrão minha.
Sempre que faço um novo upload, essa imagem padrão é sobrescrita e se torna a imagem carregada. Aí é só exibir.
Aí está o problema, exibir.
No primeiro upload, funciona exatamente. Depois, não funciona mais. Penso que é algum tipo de lixo, tendo em vista que é comum demais você alterar uma imagem no projeto e a alteração não ser refletida nunca. A menos que você limpe os dados do navegador.
Conclusão, preciso atualizar essa imagem. Dá um refresh completo (Obs.: F5 não funciona) ou uma solução completamente nova.
No momento, após mil tentativas, estou usando o a4j:mediaOutput. Não está funcionando também.
A imagem está sendo copiada normalmente, tanto que mando ela ser aberta pelo visualizador.
<rich:fileUpload id="uploadEviRes" listWidth="460px"
listHeight="60px" immediateUpload="true" autoclear="true"
maxFilesQuantity="100" addControlLabel="Selecionar arquivo..."
stopControlLabel="Parar"
sizeErrorLabel="Imagem muito grande para o máximo de 1Mb"
uploadControlLabel="Upload"
transferErrorLabel="Ocorreu um erro durante a transferência"
cancelEntryControlLabel="Cancelar" clearControlLabel="Limpar"
clearAllControlLabel="Limpar todos" progressLabel="Carregando"
doneLabel="Finalizado" stopEntryControlLabel="Parar"
acceptedTypes="png"
fileUploadListener="#{pc_GerenciaRecomendacao.carregarUpload}">
<ajax:support event="onuploadcomplete" reRender="gridImgEvidRes" />
<f:facet name="label">
<h:outputText
value="{_KB}KB para {KB}KB uploaded --- {mm}:{ss}" />
</f:facet>
</rich:fileUpload>
<rich:dataGrid id="gridImgEvidRes" columns="1"
value="#{pc_GerenciaRecomendacao.listaFileOwn}" var="file"
rowKeyVar="row">
<ajax:mediaOutput id="mediaEviRes" element="img"
rendered="#{pc_GerenciaRecomendacao.dsControleMedia}"
mimeType="#{file.mime}"
createContent="#{pc_GerenciaRecomendacao.renderizarUpload}"
value="#{row}" style="width:100px; height:100px;"
cacheable="false">
</ajax:mediaOutput>
</rich:dataGrid>