Streamifier не работает, как отправить массив буферов в поток под этим кодом? - PullRequest
0 голосов
/ 29 мая 2020

Я сделал код для воспроизведения видео с буферным массивом, но когда я отправляю файл, браузер просто показывает пустой видеоплеер, как показано ниже.

enter image description here

вот мой код

- просмотр

block content
  h1= title
  p Welcome to #{title}

  form.upload(method='POST' enctype='multipart/form-data' action='')
    input#video(type='file' name='video')
    button#uploadButton(type='submit') Upload

- контроллер

exports.uploadVideo_post = function(req, res, next) {

  var fileName = req.file.buffer;

  console.log(req.headers);

  const size = req.file.size
  const range = req.headers.range;

  if (range) {
    let [start, end] = range.replace(/bytes=/, '').split('-');
    start = parseInt(start, 10);
    end = end ? parseInt(end, 10) : size - 1;
    res.writeHead(206, {
       'Content-Range': `bytes ${start}-${end}/${size}`,
       'Accept-Ranges': 'bytes',
       'Content-Length': (end-start) + 1,
       'Content-Type': 'video/mp4'
    })
    streamifier.createReadStream(fileName, { start, end }).pipe(res);
  } else {
    res.writeHead(200, {
      'Content-Length': size,
      'Content-Type': 'video/mp4'
    });
    (streamifier.createReadStream(fileName)).pipe(res);
  }

}

Я использовал multer для получения загруженного файла и 'fileName '- буферный массив. Кто-нибудь может помочь мне решить эту проблему? В дополнение к этому, было бы здорово, если бы вы могли сообщить мне, как изменить дизайн этого проигрывателя с атрибутом 'video' на html.

...