IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Angular Discussion :

Download du contenu d'un fichier


Sujet :

Angular

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 486
    Billets dans le blog
    5
    Par défaut Download du contenu d'un fichier
    Bonjour,

    J'ai un besoin spécifique et j'ouvre un nouveau post pour savoir si quelqu'un a une idée sur la meilleure façon de faire.

    J'ai le contenu d'un fichier (ici word) encodé dans un String en base 64. J'ai aussi l'extension du fichier.

    J'aimerais que si l'utilisateur clique sur un lien, il télécharge le contenu du fichier.

    Y-a-t-il une bonne façon de faire.

    Je recherche une solution avec un code simple, lisible et en évitant d'utiliser un potentiel framework/api.

    Je vous remercie par avance.

    Cordialement.

  2. #2
    Membre très actif

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 486
    Billets dans le blog
    5
    Par défaut
    J'ai réussi à trouver la solution.

    Je me suis aidé du lien suivant:
    https://stackblitz.com/edit/angular-...p.component.ts

    Je vais préciser le besoin:

    Je développe (pour le travail) une application de cooptation.
    Pour coopter, on peut joindre un CV au format Word ou PDF.

    Lorsque je coopte, je sauvegarde le fichier sous la forme d'un String en base 64.

    Lorsque je liste les cooptés, j'ai deux cas:
    1. Soit je suis en PDF et j'ouvre une fenêtre qui affiche le PDF
    2. Sinon, je dois le télécharger.


    Dans mon problème, j'ai le nom et prénom de coopté, son CV en String Base 64 et l'extension.

    Pour le code HTML, j'ai donc:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div *ngIf="element.cv && element.extension !== '.pdf'">
      <mat-icon (click)="downloadCV(element.nom,element.prenom,element.cv,element.extension)">loupe</mat-icon>
    </div>

    Reste à écrire la fonction downloadCV qui a le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public downloadCV(nom: String, prenom: String, content: string,extension:string):void{
        const fileContent = "data:application/octet-stream;base64," + content;
        const fileName = "cv_"+prenom + "_" +nom+extension;
        const downloadLink = document.createElement('a');
     
        downloadLink.href = fileContent;
        downloadLink.download = fileName;
        downloadLink.click();
      }
    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 03/06/2004, 20h21
  2. Effacer le contenu d'un fichier a partir d'une ligne
    Par localhost dans le forum Linux
    Réponses: 3
    Dernier message: 04/04/2004, 04h47
  3. Vider le contenu d'un fichier
    Par zul dans le forum C
    Réponses: 11
    Dernier message: 22/08/2003, 13h10
  4. [LG]Ecrire le contenu d'un fichier dans un autre
    Par lucke dans le forum Langage
    Réponses: 10
    Dernier message: 26/04/2003, 20h48
  5. Réponses: 1
    Dernier message: 12/02/2003, 09h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo