Maison  >  Article  >  interface Web  >  Comment lire des fichiers volumineux dans nodejs

Comment lire des fichiers volumineux dans nodejs

亚连
亚连original
2018-06-21 17:04:302215parcourir

Cet article présente principalement nodejs pour lire en détail des fichiers volumineux, tels que des vidéos en ligne, qui ont une certaine valeur de référence. Les amis intéressés peuvent se référer à

nodejs pour la lecture vidéo. lire des images, mais doit en lire une partie et en renvoyer une partie, afin que le client puisse jouer pendant la mise en mémoire tampon, sans avoir à attendre que toute la mise en mémoire tampon soit terminée avant de jouer.

Anciennes règles, il suffit de poster le code pour expliquer :

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); 
}); 
}

Récupérez le flux vidéo via la méthode ReadStream du module fs, puis liez l'événement de clôture : il se termine lorsque le flux lit la demande de réponse finale et lit enfin de petits morceaux via la méthode pipe. L'attribut Content-Length ne peut pas être ajouté aux informations d'en-tête ici car il doit être lu par segments. Si cet attribut est ajouté, le navigateur pensera que la requête est terminée et fermera la requête.

J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.

Articles connexes :

Comment implémenter des bannières publicitaires circulaires en javascript

Comment utiliser le composant swiper pour implémenter le changement d'image dans WeChat mini-programmes Affichage

Comment implémenter une bannière publicitaire circulaire en javascript

À propos de l'outil de débogage vue-devtools (tutoriel détaillé) dans Vue

Comment utiliser Vue pour implémenter la page Iframe intégrée

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn