Anpassen des Blob-Dateinamens für direkte Downloads in JavaScript
Einführung
Bei Verwendung von window.location Um das Herunterladen einer Blob-Datei in JavaScript zu erzwingen, wird der Name der heruntergeladenen Datei automatisch generiert. Um diesen Dateinamen anzupassen, sind zusätzliche Schritte erforderlich.
Lösung mit FileSaver.js-Trick
Eine Problemumgehung besteht darin, eine Technik zu verwenden, die der von FileSaver.js verwendeten ähnelt:
Vereinfachtes Beispiel
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);
Verwendung von FileSaver.js
Während die obige Methode dies kann funktioniert, wird empfohlen, die robustere FileSaver.js-Bibliothek zum Speichern von Dateien zu verwenden 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);
Überlegungen
Das obige ist der detaillierte Inhalt vonWie kann ich Blob-Dateinamen beim direkten Herunterladen in JavaScript anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!