Я новичок в NodeJS и пробую разные вещи.NodeJS - подавать файл с дроссельной скоростью
То, что я был в состоянии сделать, это загрузить файл Собирается используя следующий код:
app.get('/download', function(req, res){
var file = 'public/songs/myfile.mp3';
var filename = path.basename(file);
var mimetype = mime.lookup(file);
res.setHeader('Content-disposition', 'attachment; filename=' + filename);
res.setHeader('Content-type', mimetype);
res.setHeader('Content-Length', file.length);
var filestream = fs.createReadStream(file);
filestream.pipe(res);
});
Это хорошо работает, что теперь я пытаюсь для того чтобы достигнуть это увидеть, если это возможно, чтобы задушить скорость загрузки , Например, если кто-то пытается загрузить файл, он будет загружаться с максимальной скоростью 1 Мбит/с (например).
Я пытался использовать этот код: https://gist.github.com/4poc/1454516
Когда я загрузить страницу, кажется, чтобы загрузить indefinetly, но я думаю, что проблема
filestream.pipe(limitStream);
Так что никакого ответа не дается.
Как я могу реализовать то, что я хотел бы сделать? Или как я могу исправить код, который я пытался использовать?
Я попытался «FileStream. труба (limitStream) .pipe (RES);» что имело смысл для меня. Но, к сожалению, я получаю пустой файл сразу после загрузки страницы. В том же время я вижу NodeJs журнал информации печати, как: «испускает паузу, возобновится в: 8.13333333333344ms выделяющих резюме испускает данные испускают паузу, возобновится в: 1.3333333333332575ms испускают конец испускают резюме» , который является скриптом, работающим –
Хмм, что-то не кажется правильным. Если вы просто выполняете 'filestream.pipe (res);' - вы получаете ответ файла, как вы ожидаете (не дросселируется)? –
Редактировать: нет, вы правы, я, должно быть, что-то испортил ... Ответ позже: –