Estou tentando implementar um recurso de upload de arquivo AJAX no meu projeto. Eu estou usando jQuery para isso; meu código envia os dados usando AJAX. Também quero implementar uma barra de progresso de upload de arquivo. Como posso fazer isso? Existe alguma maneira de calcular quanto já foi enviado para que eu possa calcular a porcentagem de upload e criar uma barra de progresso?
jquery
file-upload
progress-bar
Eddard Stark
fonte
fonte
Respostas:
Nota: Esta pergunta está relacionada ao plug-in de formulário jQuery . Se você estiver procurando por uma solução jQuery pura, comece aqui . Não existe uma solução jQuery geral para todos os navegadores. Então você tem que usar um plugin. Estou usando o dropzone.js , que tem um fallback fácil para navegadores mais antigos. Qual plugin você prefere depende de suas necessidades. Há muitas boas comparações postadas por aí.
Dos exemplos :
jQuery:
html:
você tem que estilizar a barra de progresso com css ...
fonte
Eu fiz isso apenas com jQuery:
fonte
fileuploaddata
?fileuploaddata
.Eu usei o seguinte no meu projeto. você pode tentar também.
fonte
verifique isto: http://hayageek.com/docs/jquery-upload-file.php Encontrei-o acidentalmente na rede.
fonte
Se você estiver usando jquery no seu projeto e não quiser implementar o mecanismo de upload do zero, poderá usar https://github.com/blueimp/jQuery-File-Upload .
Eles têm uma API muito boa com seleção múltipla de arquivos, suporte a arrastar e soltar, barra de progresso, validação e pré-visualização de imagens, suporte a vários domínios, uploads de arquivos em pedaços e recuperáveis. E eles têm scripts de amostra para vários idiomas do servidor (nó, php, python e pronto).
URL da demonstração: https://blueimp.github.io/jQuery-File-Upload/ .
fonte
Aqui está um uso mais completo do jquery 1.11.x $ .ajax ():
fonte
Isso resolveu meu problema
fonte
A resposta de Kathir é ótima, pois ele resolve esse problema com apenas o jQuery. Eu só queria fazer algumas adições à sua resposta para trabalhar seu código com uma bela barra de progresso HTML:
Aqui está o código HTML da barra de progresso, usei o Bootstrap 3 para o elemento da barra de progresso:
fonte
JavaScript:
Estilos:
fonte