Gibt es eine Möglichkeit, eine Textdatei auf der Client-Seite zu erstellen und den Benutzer aufzufordern, sie herunterzuladen, ohne dass eine Interaktion mit dem Server erforderlich ist? Ich weiß, dass ich nicht direkt auf den Rechner des Nutzers schreiben kann (Sicherheit und so), aber kann ich eine Datei erstellen und ihn auffordern, sie zu speichern?
Antworten
Zu viele Anzeigen?
pixparker
Punkte
2485
function download(filename, text) {
var element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
// Start file download.
download("hello.txt","This is the content of my file :)");
Ursprünglicher Artikel : https://ourcodeworld.com/articles/read/189/how-to-create-a-file-and-generate-a-download-with-javascript-in-the-browser-without-a-server
Rick
Punkte
11342
Dzarek
Punkte
529
Mostafa
Punkte
1559
Wie bereits erwähnt, Dateisparer ist ein hervorragendes Paket für die Arbeit mit Dateien auf der Client-Seite. Aber, es ist nicht gut mit großen Dateien zu tun. StreamSaver.js ist eine alternative Lösung (auf die in FileServer.js hingewiesen wird), die große Dateien verarbeiten kann:
const fileStream = streamSaver.createWriteStream('filename.txt', size);
const writer = fileStream.getWriter();
for(var i = 0; i < 100; i++){
var uint8array = new TextEncoder("utf-8").encode("Plain Text");
writer.write(uint8array);
}
writer.close()
MANVENDRA LODHI
Punkte
89