Un panneau « Do Something Great » dans l'obscurité

Comment enregistrer un fichier avec du JavaScript?

Parfois, il est pratique de sauvegarder du contenu directement depuis le code JavaScript vers un fichier physique. Voici la solution !

Le code

C’est simple :

  • Créer un élément d’ancrage (a).
  • L’ajouter au DOM.
  • Simuler un clic sur l’élément.
  • Retirer l’élément du DOM.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
function downloadFile(filename, textData, dataType = "text/plain") {
  const node = Object.assign(document.createElement("a"), {
    href: `data:${dataType};charset=utf-8,${encodeURIComponent(textData)}`,
    download: filename,
    style: "display: none",
  });
  document.body.appendChild(node);
  node.click();
  document.body.removeChild(node);
}

La démo sur jsFiddle

Voici une démonstration en direct sur jsfiddle.

Suivez-moi !

Merci d’avoir lu cet article. Assurez-vous de me suivre sur X, de vous abonner à ma publication Substack et d’ajouter mon blog à vos favoris pour ne pas manquer les prochains articles.

Crédit : photo de Clark Tibbs sur Unsplash.