Une librarie pratique : https://www.npmjs.com/package/file-saver
Un exemple d’utilisation :
const url = `${this._url}`;
const fileName = 'data.json';
// Process the file downloaded
this._httpClient.get(url, { responseType: 'blob' }).subscribe(res => {
saveFile(res, fileName);
});
La méthode saveFile étant celle qui utilise la librairie:
/**
* Encapsule l'appel à la méthode saveAs fourni file-saver
* @param blobContent le contenu du fichier
* @param fileName un nom
*/
export const saveFile = (blobContent: Blob, fileName: string) => {
const blob = new Blob([blobContent], { type: 'application/octet-stream' });
saveAs(blob, fileName);
};