Maison >interface Web >js tutoriel >Comment télécharger des fichiers dans Angular2 et supérieur : un guide étape par étape

Comment télécharger des fichiers dans Angular2 et supérieur : un guide étape par étape

Patricia Arquette
Patricia Arquetteoriginal
2024-11-08 11:03:02656parcourir

How to Download Files in Angular2 and Above: A Step-by-Step Guide

Comment télécharger un fichier à l'aide d'Angular2 ou supérieur

Angular2 a introduit des changements importants dans la façon dont les fichiers sont téléchargés. Comprendre comment Angular enregistre les fichiers peut être un défi, en particulier pour ceux qui sont habitués aux pratiques utilisées dans les versions existantes.

Pour télécharger un fichier dans Angular2, suivez ces étapes :

  1. Créez un fonction qui gère la demande de téléchargement, en s'abonnant à l'observable renvoyé.
  2. Dans le rappel d'abonnement, créez un objet Blob à partir des données téléchargées.
  3. Utilisez la méthode URL.createObjectURL() pour créer un URL du Blob.
  4. Ouvrez l'URL dans une nouvelle fenêtre pour lancer le téléchargement du fichier.

Un exemple de mise en œuvre est fourni ci-dessous :

downloadfile(type: string){

  this.pservice.downloadfile(this.rundata.name, type)
      .subscribe(data => this.downloadFile(data),
                  error => console.log("Error downloading the file."),
                  () => console.log('Completed file download.'));
}

downloadFile(data: Response) {
  const blob = new Blob([data], { type: 'application/octet-stream' });
  const url = window.URL.createObjectURL(blob);
  window.open(url);
}

Remarque :

Assurez-vous d'avoir importé rxjs/Rx pour activer l'utilisation des observables.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn