Bom dia.
Preciso enviar múltiplos arquivos para o bean com o fileUpload e carregá-los na mesma página, consigo fazer isso com um único arquivo (sem criar List) mas quando crio um private List<StreamedContent> os arquivos não são visualizados na página. Será que essa é a forma correta de se fazer?
<h:form enctype="multipart/form-data">
<p:fileUpload value="#{cadastroPessoaBean.file}"
label="Procurar..."
fileUploadListener="#{cadastroPessoaBean.doUpload}" auto="true"
showButtons="false" update="@form" />
<h:panelGroup id="companyImage">
<p:dataTable var="item" value="#{cadastroPessoaBean.imagem}">
<p:graphicImage value="#{item}" id="imagem" width="200"
cache="false" rendered="#{item != null}" />
</p:dataTable>
</h:panelGroup>
</h:form>
private UploadedFile file;
private List<StreamedContent> imagem = new ArrayList<>();
public void doUpload(FileUploadEvent event) {
try {
// imagem = new DefaultStreamedContent(event.getFile().getInputstream());
imagem.add(new DefaultStreamedContent(event.getFile().getInputstream()));
this.setFile(event.getFile());
System.out.println("Imagem: " + getImagem());
} catch (IOException e) {
// Tratamento de exceção.
}
}