Ich versuche derzeit, eine sehr lange CSV-Datei zu senden, die im Browser verarbeitet wird.wie von Nodejs Server zum Client streamen
Ich möchte es an den Client streamen, da es die Größe der Zeichenfolge überschreiten würde und auch zu viel Speicher auf dem Server aufnehmen würde.
Ich habe
versuchtapp.get('/test', (req, res)=>{
let csvStream = byline(fs.createReadStream('./resources/onescsv.csv'));
csvStream.on('data', (line)=>{
csvStream.pipe(res);
});
csvStream.on('end',() => {
res.render('./test/test', {
css:['test/test.css'],
js:['test/test.js']
})
})
});
Wenn ich die oben tun, es Strom an den Client gelesen sendet, aber es macht auf der Seite, die nicht das, was ich will. Ich möchte in der Lage sein, Stream-Puffer durch Puffer in der Client-Javascript zu erhalten, um den Stream zu verarbeiten, wie sie z. leg sie in einen Tisch. Wie kann ich das machen?
Nur eine Frage. Wenn Sie auf Daten in der jquery Callback-Funktion zugreifen, greift es auf die gesamte Variable oder Chunk für Chunk zu? – forJ
@Serendipity Nein, es ist nicht, wenn das der gewünschte Effekt ist, dann müssen Sie rohe XHR-Anfrage verwenden - [siehe Beispiel] (https://Stackoverflow.com/a/12280916/82586) – James
@James nette Antwort! –