Я заранее прошу прощения за глупость этого вопроса, но я могу ' js и обнаружили два способа чтения файла и отправки его по сети, как только я установил, что он существует, и отправил правильный тип MIME с помощью writeHead: // ...
Я возился с node .js и обнаружили два способа чтения файла и отправки его по сети после того, как я установил, что он существует, и отправил правильный тип MIME с помощью writeHead:
// read the entire file into memory and then spit it out
fs.readFile(filename, function(err, data){
if (err) throw err;
response.write(data, 'utf8');
response.end();
});
// read and pass the file as a stream of chunks
fs.createReadStream(filename, {
'flags': 'r',
'encoding': 'binary',
'mode': 0666,
'bufferSize': 4 * 1024
}).addListener( "data", function(chunk) {
response.write(chunk, 'binary');
}).addListener( "close",function() {
response.end();
});
Правильно ли я предполагаю, что fs.createReadStream может предоставить лучший пользовательский интерфейс, если рассматриваемый файл был чем-то большим, например видео? Такое чувство, что это могло бы быть менее блочно; Это правда? Есть ли другие плюсы, минусы, предостережения или подводные камни, которые мне нужно знать?