J'essaie d'implémenter une fonctionnalité de téléchargement de fichier AJAX dans mon projet. J'utilise jQuery pour cela; mon code soumet les données en utilisant AJAX. Je souhaite également implémenter une barre de progression de téléchargement de fichiers. Comment puis-je faire ceci? Existe-t-il un moyen de calculer combien a déjà été téléchargé afin que je puisse calculer le pourcentage téléchargé et créer une barre de progression?
jquery
file-upload
progress-bar
Eddard Stark
la source
la source
Réponses:
Remarque: Cette question est liée au plugin de formulaire jQuery . Si vous recherchez une solution jQuery pure, commencez ici . Il n'y a pas de solution jQuery globale pour tous les navigateurs. Il faut donc utiliser un plugin. J'utilise dropzone.js , qui offre une solution de secours facile aux anciens navigateurs. Le plugin que vous préférez dépend de vos besoins. Il existe de nombreux articles de comparaison intéressants.
À partir des exemples :
jQuery:
html:
vous devez styliser la barre de progression avec css ...
la source
Je l'ai fait avec jQuery uniquement:
la source
fileuploaddata
?fileuploaddata
.J'ai utilisé ce qui suit dans mon projet. vous pouvez essayer aussi.
la source
Vérifiez ceci: http://hayageek.com/docs/jquery-upload-file.php Je l'ai trouvé accidentellement sur le net.
la source
Si vous utilisez jquery sur votre projet et que vous ne souhaitez pas implémenter le mécanisme de téléchargement à partir de zéro, vous pouvez utiliser https://github.com/blueimp/jQuery-File-Upload .
Ils ont une très belle API avec une sélection de fichiers multiples, une prise en charge du glisser-déposer, une barre de progression, des images de validation et de prévisualisation, une prise en charge inter-domaines, des téléchargements de fichiers fragmentés et pouvant être repris. Et ils ont des exemples de scripts pour plusieurs langages de serveur (node, php, python et go).
URL de démonstration: https://blueimp.github.io/jQuery-File-Upload/ .
la source
Voici une utilisation plus complète de jquery 1.11.x $ .ajax ():
la source
Cela a résolu mon problème
la source
La réponse de Kathir est excellente car il résout ce problème avec juste jQuery. Je voulais juste faire quelques ajouts à sa réponse pour travailler son code avec une belle barre de progression HTML:
Voici le code HTML de la barre de progression, j'ai utilisé Bootstrap 3 pour l'élément de barre de progression:
la source
JavaScript:
Modes:
la source