JavaScript: Dateinamen für Blob-Datei für direkten Download festlegen
Beim Herunterladen einer Blob-Datei in JavaScript mit window.location ist die Datei normalerweise unter einem generischen Namen gespeichert. Um einen benutzerdefinierten Dateinamen festzulegen, ist es notwendig, eine spezielle Technik anzuwenden, die das Erstellen eines versteckten Tag.
Im ursprünglichen Codebeispiel:
function newFile(data) { var json = JSON.stringify(data); var blob = new Blob([json], {type: "octet/stream"}); var url = window.URL.createObjectURL(blob); window.location.assign(url); }
Dieser Code lädt eine Datei mit dem Namen herunter:
bfefe410-8d9c-4883-86c5-d76c50a24a1d
Um den Dateinamen festzulegen als my-download.json, folgen Sie diesen Schritten:
var a = document.createElement("a"); document.body.appendChild(a); a.style = "display: none";
a.href = url; a.download = "my-download.json";
a.click();
window.URL.revokeObjectURL(url);
Beispiel Implementierung:
var saveData = (function () { var a = document.createElement("a"); document.body.appendChild(a); a.style = "display: none"; return function (data, fileName) { var json = JSON.stringify(data), blob = new Blob([json], {type: "octet/stream"}), url = window.URL.createObjectURL(blob); 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);
Hinweise:
Das obige ist der detaillierte Inhalt vonWie lege ich beim Herunterladen einer Blob-Datei in JavaScript einen benutzerdefinierten Dateinamen fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!