Upload de arquivo. Servlet e AJAX

3 respostas
ul1sses

Vou tentar resumir o melhor possível o problema…

Eu preciso implementar uma página que permitirá aos usuários realizarem upload de arquivos.
Como a maioria dos arquivos terão tamanho maior que 10 MB e não há garantia da qualidade da conexão do usuário, seria necessário mostrar alguma informação de progresso ao usuário.

Minha primeira idéia seria:

  • Criar um servlet (EnviaArquivo) que recebe a requisição de um arquivo;
  • Criar um servlet (VerificaProgresso) que busca no banco dados do processamento de um arquivo de uma tabela de controle;
  • o Servlet EnviaArquivo chamará uma thread que processará o arquivo enviado e já direcionará para uma pagina. Ex.: processamento.jsp
  • Na thread, a cada quantidade de bytes processados do arquivo, será salvo esse dado em alguma tabela de controle;
  • Enquanto a thread é executada, na pagina processamento.jsp seria utilizada uma função ajax para receber os resultados da chamada do servlet VerificaProgresso e mostra na página.

Essa solução é viável?
Alguém conhece alguma solução mais refinada para este problema?

Agradeço antecipadamente.

3 Respostas

tveronezi
ul1sses

De acordo com o endereço no post que você citou só tem esse método meio “gambiarra” mesmo, certo? Só quero confirmar isso.

tveronezi

Exato. Pelo menos antes to html5.

Agora vc tem a possibilidate the usar http://www.w3.org/TR/FileAPI/ se vc puder usar html5.


http://www.matlus.com/html5-file-upload-with-progress/
http://robertnyman.com/2010/12/16/utilizing-the-html5-file-api-to-choose-upload-preview-and-see-progress-for-multiple-files/

Criado 18 de julho de 2012
Ultima resposta 18 de jul. de 2012
Respostas 3
Participantes 2