Ich habe ein Array von Strings, die in eine TXT-Datei geschrieben werden sollten. Außerdem muss ich die resultierende .txt-Datei mit JSZip in das .zip-Format komprimieren. Auf der Client-Seite konnte ich ein 'text/plain'-Blob erzeugen, indem ich dieses Array von Strings benutzte, und dann habe ich dieses Blob mit JSZip in das .zip-Format komprimiert. Ich muss das gleiche auf der Serverseite mit node.js tun, aber ich erkannte, dass Blob in node.js nicht verfügbar ist. Ich habe versucht, 'Buffer' anstelle von Blob zu verwenden, und ich habe eine Binärdatei komprimiert als .zip; Ich bin ein Anfänger mit node.js und konnte die Konzepte von Puffer nicht verstehen. Kann ich in node.js einen Blob erstellen? oder Kann ich die gleichen Operationen mit node.js Buffer ausführen?Wie wird eine ZIP-Datei mit Buffer-Inhalten in node.js mithilfe von JSZip generiert?
Auf der Client-Seite ich die Zip-Datei von Blob Inhalte wie diese,
//stringsArray is an array of strings
var blob = new Blob(stringsArray, { type: "text/plain" });
var zip = new JSZip();
zip.file('file.txt' , blob);
zip.generateAsync({ type: 'blob', compression: 'DEFLATE' })
.then(function(zipFile){
//do something with zipFile
}, function(error){
console.log('Error in compression');
});
Wie kann ich das gleiche tun mit Node.js erzeugen kann?
Dieser Code sollte so laufen wie es ist. Überprüfen Sie vielleicht die Dokumentation für JSZip, wenn sie eine andere Methode für Knoten haben. –
@BrahmaDev, ich habe 'Blob ist nicht definiert' Fehler in node.js – HariV
Entschuldigung dafür, müssten Sie Puffer verwenden. Die Dokumentation wäre ein guter Punkt, um dies zu erforschen: https://stuk.github.io/jszip/documentation/api_jszip/generate_async.html –