3
votes

Comment télécharger un fichier à partir d'une URL quand un bouton est cliqué en angulaire 5/6

J'ai une URL pour ex: abc.net/files/test.ino La condition est de télécharger un fichier .INO via un événement de clic de bouton en angulaire 5 ou 6


0 commentaires

3 Réponses :


2
votes

Vous pouvez faire en sorte que le bouton ressemble à un élément d'ancrage via html, par exemple:

let link = document.createElement('a');
link.setAttribute('type', 'hidden');
link.href = 'abc.net/files/test.ino';
link.download = path;
document.body.appendChild(link);
link.click();
link.remove();

Vous pouvez également essayer de créer un élément d'ancrage dynamique:

<a href="abc.net/files/test.ino">download</a>


1 commentaires

Merci beaucoup @AGR. Cela fonctionne très bien. Si possible, veuillez fournir une solution de niveau angulaire également à des fins de connaissance (disons en appelant l'url via le module http) Merci beaucoup



6
votes

vous pouvez créer une balise d'ancrage pour télécharger le fichier sur l'événement de clic sur le bouton

<button (click)="downloadMyFile()">download File<button>

appelez maintenant cette fonction à partir de votre bouton

downloadMyFile(){
    const link = document.createElement('a');
    link.setAttribute('target', '_blank');
    link.setAttribute('href', 'abc.net/files/test.ino');
    link.setAttribute('download', `products.csv`);
    document.body.appendChild(link);
    link.click();
    link.remove();
}

p >


3 commentaires

Merci beaucoup Hussain. Fonctionne très bien !!


cette fonction ouvre une nouvelle fenêtre, mais je veux télécharger le fichier sans nouvelle fenêtre


@AnandanK vous pouvez utiliser target _self au lieu de _blank



1
votes

Si vous avez besoin d'un téléchargement direct sans ouvrir le fichier, vous devez définir les paramètres dans chrome / opera si vous utilisez ces navigateurs,

Paramètres -> Avancé -> Confidentialité et sécurité -> Paramètres de contenu -> Documents PDF , Vous voyez "Télécharger les fichiers PDF au lieu de les ouvrir automatiquement dans Chrome". Activez-le .

Ensuite, placez le code ci-dessous dans votre fichier HTML,

<a [href]="fileURL" target="_blank" class="btn btn-border" download="fileName.pdf">Download</a>


1 commentaires

Merci beaucoup