Daily Weekly Monthly

Daily Shaarli

All links of one day in a single page.

May 30, 2024

Scalar - Document, Test & Discover APIs

Une alternative à Swagger UI pour documenter vos APIs à partir d'une spécification OpenAPI.

Programmatic file downloads in the browser - DEV Community

Comment déclencher un téléchargement dans le navigateur purement en local depuis le code JavaScript, en utilisant l'objet Blob.

J'ai vérifié, ça fonctionne même en local en ouvrant simplement un fichier HTML dans votre navigateur, pas besoin de serveur HTTP.
Je me dis que ça peut être très utile par exemple pour partager une espèce de mini application qui pré-calcule un truc et permet de l'exporter en CSV ou JSON. Un calculateur de salaire par exemple, un ou petit outil pour estimer un risque.

Je me copie-colle le snippet en dessous.

const blob = new Blob(
  [ /* CSV string content here */ ],
  { type: 'text/csv' }
);

function downloadBlob(blob, filename) {
  const url = URL.createObjectURL(blob);

  const a = document.createElement('a');

  a.href = url;
  a.download = filename || 'download';

  const clickHandler = () => {
    setTimeout(() => {
      URL.revokeObjectURL(url);
      this.removeEventListener('click', clickHandler);
    }, 150);
  };

  a.addEventListener('click', clickHandler, false);

  a.click();
}

downloadBlob(blob, 'result.csv');