Então, fiz pesquisas e encontrei soluções em HTML5, Javascript e Servlet, mas não tudo junto; faltava juntar os pedaços e os resultados são apresentados neste artigo. A imagem abaixo mostra como ficou a parte gráfica de upload de múltiplos arquivos.
Esta solução permite que vários arquivos sejam selecionados e enviados para o servidor e uma barra de progresso indica a evolução da transmissão dos dados, bem como o percentual enviado. A tabela com a lista de arquivos somente surge após a seleção dos arquivos e portanto ela é criada dinamicamente pelo Javascript. A barra de progresso também é atualizada pelo Javascript, mas trata-se de um elemento do HTML5.
Do lado do servidor, uma única Servelet é responsável pelo recebimento e persistência dos arquivos. Não farei comentários deste código que é de autoria John Yeary do blog Java Evangelist.
Do lado cliente, o Javascript originalmente foi codificado por Shiv Kumer do blog Matlus. O artigo deste propõe exatamente o que eu desejava, mas eu não fui capaz de replicar o trabalho de Shiv Kumar conforme descrito. Por este motivo, a partir do trabalho dele e de John Yeary, eu desenvolvi uma outra solução.
O resultado final ficou muito bom, porém merece ser testado em diversos navegadores. Há muito o que melhorar no código, mas já é um ótimo começo!
Nenhum comentário:
Postar um comentário