Personnalisation du nom de fichier Blob pour les téléchargements directs en JavaScript
Introduction
Lors de l'utilisation de window.location pour forcer le téléchargement d'un fichier blob en JavaScript, le nom du fichier téléchargé est automatiquement généré. Pour personnaliser ce nom de fichier, des étapes supplémentaires sont nécessaires.
Solution avec l'astuce FileSaver.js
Une solution de contournement consiste à utiliser une technique similaire à celle employée par FileSaver.js :
Exemple simplifié
function saveData(data, fileName) { var json = JSON.stringify(data), blob = new Blob([json], {type: "octet/stream"}), url = window.URL.createObjectURL(blob); var a = document.createElement("a"); document.body.appendChild(a); a.style = "display: none"; a.href = url; a.download = fileName; a.click(); window.URL.revokeObjectURL(url); } var data = { x: 42, s: "hello, world", d: new Date() }, fileName = "my-download.json"; saveData(data, fileName);
Utilisation de FileSaver.js
Alors que la méthode ci-dessus peut fonctionne, il est recommandé d'utiliser la bibliothèque FileSaver.js, plus robuste, pour l'enregistrement des fichiers dans JavaScript :
import { saveAs } from 'file-saver'; var json = JSON.stringify(data), filename = "my-download.json"; var blob = new Blob([json], {type: "octet/stream"}); saveAs(blob, filename);
Considérations
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!