2016-05-23 8 views
2

Ich bin auf Download-Geschwindigkeit sowohl res.sendFile(src); und fs.createReadStream(src).pipe(res); testen und ich sehe nicht viel Unterschied. Was ist besser, Dateien zu liefern und warum? Wenn ich riesige Dateien haben werde, wird Stream besser damit umgehen?Nodejs Stream vs SendFile

+1

Darf ich Sie auf https://www.sitepoint.com/basics-node-js-streams/ verweisen, damit Sie besser wissen, was ein Stream im Knoten eigentlich ist? – jruts

Antwort

6

Ich würde für die Verwendung res.sendFile() wählen.

Schließlich res.sendFile() Rohre einen Strom zu res, so dass sie in dieser Hinsicht im Grunde gleich sind.

jedoch res.sendFile() hat einige zusätzliche Sachen, wie der richtigen HTTP-Header Content-Type auf den Dateinamen basierend Einstellung, und weil es die send Bibliothek unter der Haube verwendet, kann es (wahrscheinlich, ich habe nicht getestet) behandelt partielles Ansprechen und Verhandeln Sie Inhalte.

+0

Also, wenn ich 'res.sendFile()' verwenden, auch bei großen Dateien wird es gut verwalten. –

+1

@GoncharDenys Ja, das sollte kein Problem sein. – robertklep