Comment utiliser angular2 de l'API http pour le suivi de charger/télécharger des progrès
Tho il y a beaucoup de adhoc bibliothèques de l'appui de charger/télécharger des progrès dans angular2, je ne sais pas comment faire natif angular2 de l'api http pour indiquer les progrès réalisés tout en faisant upload/download.
La raison pourquoi je veux utiliser http native api est parce que je veux utiliser
- http intercepteurs(API http wrappers) autour de native api http de valider, cache & enrichir le réel de la requête http envoyée comme cette & cette
- Outre angulaire http-api est beaucoup plus robuste que n'importe quel adhoc Api
Il est ce joli article sur comment télécharger/télécharger en utilisant angulaire de l'api http
Mais l'article mentionne qu'il n'est pas natif de façon à favoriser les progrès.
Quelqu'un at-il essayer d'utiliser l'api http pour afficher une barre de progression?
Si non, connaissez-vous un problème dans l'angle de repo pour cela?
- Quelqu'un a demandé la fermeture de cette question en disant: c'est trop large. Eh bien, non. Quelqu'un a-utilisation angulaire de l'api http pour suivre les progrès?. Tout générique de l'API Http est censé être utilisé dans ce contexte. Son aussi spécifiques qu'une question peut obtenir.
Vous devez vous connecter pour publier un commentaire.
Comme Angulaire 4.3.x et au-delà des versions, il peut être réalisé à l'aide de la nouvelle HttpClient de
@angular/common/http
.Lire la L'écoute des événements de progression section.
Un Simple upload exemple (copié à partir de la section mentionnée ci-dessus):
Et pour le téléchargement, il pourrait être quelque chose comme à peu près la même:
Rappelez-vous dans le cas où vous êtes suivi d'un téléchargement, le
Content-Length
doit être réglé, sinon, il n'y a aucun moyen de le demander à être mesurée.package.json
mais le récupéré a été ci-dessus?constructor(private http: HttpClient)
7.2.4
, j'ai besoin dereportProgress: true
etobserve: 'events'
pour voir la progression des événements. Seulementobserve: 'events'
ne fera pas le téléchargement des événements de progression, et en laissant deobserve
par défautobserve: 'body'
qui retourne seulement le corps de la réponse et pas d'autres événements.Je vous recommande d'utiliser le JavaScript natif XHR enveloppé comme un fait Observable, il est assez facile de créer votre propre site:
Et c'est comment l'utiliser:
complete
ouerror
dans tous lesXHR
événements, ceux-ci vont se désabonner automatiquement. Veuillez élaborer sur ce que tu veux dire avec la validation et l'enrichissement de la la demande. Angulaire http ne fournit pas cet au moment, regardez github.com/angular/angular/blob/master/modules/%40angular/http/.... Il estbytesLoaded
ettotalBytes
mais cela n'a pas été utilisé partout.