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
3 Réponses :
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>
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
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 >
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
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>
Merci beaucoup