Heim  >  Artikel  >  Web-Frontend  >  So lesen Sie große Dateien in NodeJS

So lesen Sie große Dateien in NodeJS

亚连
亚连Original
2018-06-21 17:04:302215Durchsuche

Dieser Artikel stellt hauptsächlich NodeJS zum Lesen großer Dateien vor, z. B. Online-Videos, die einen gewissen Referenzwert haben.

NodeJS kann nicht auf einmal gelesen werden Es liest Bilder, muss jedoch einen Teil davon lesen und einen Teil davon zurückgeben, damit der Client während der Pufferung abspielen kann, ohne vor der Wiedergabe warten zu müssen, bis die gesamte Pufferung abgeschlossen ist.

Alte Regeln, posten Sie einfach den Code zur Erklärung:

var fs = require('fs'); 

function readBigFileEntry(filename, response) { 
path.exists(filename, function(exists) { 
if (!filename || !exists) { 
response.writeHead(404); 
response.end(); 
return; 
} 

var readStream = fs.ReadStream(filename); 

var contentType = 'none'; 
var ext = path.extname(filename); 
switch (ext) { 
case ".flv": 
contentType = "video/flv"; 
break; 
} 

response.writeHead(200, { 
'Content-Type' : contentType, 
'Accept-Ranges' : 'bytes', 
'Server' : 'Microsoft-IIS/7.5', 
'X-Powered-By' : 'ASP.NET' 
}); 



readStream.on('close', function() { 
response.end(); 
console.log("Stream finished."); 
}); 
readStream.pipe(response); 
}); 
}

Rufen Sie den Videostream über die ReadStream-Methode des fs-Moduls ab und binden Sie dann das Schließereignis: Beenden Sie die Antwortanforderung, wenn der Stream Bis zum Ende lesen und schließlich kleine Blöcke über die Pipe-Methode lesen. Das Attribut „Content-Length“ kann hier nicht zu den Kopfinformationen hinzugefügt werden, da es in Segmenten gelesen werden muss. Wenn dieses Attribut hinzugefügt wird, geht der Browser davon aus, dass die Anfrage beendet ist, und schließt die Anfrage.

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

So implementieren Sie kreisförmige Werbebanner in Javascript

So verwenden Sie die Swiper-Komponente, um den Bildwechsel in WeChat zu implementieren Mini-Programme anzeigen

So implementieren Sie kreisförmige Werbebanner in Javascript

Über das Debugging-Tool vue-devtools (ausführliches Tutorial) in Vue

So verwenden Sie Vue, um eine integrierte Iframe-Seite zu implementieren

Das obige ist der detaillierte Inhalt vonSo lesen Sie große Dateien in NodeJS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn