title: How to stream different local videos using NodeJS and Express
body: <p>I would like to stream different user-selected videos to my front-end. For this I am using NodeJS and Express. The source of the -element in which the video should be displayed is 'http://localhost:4201/video'.</p>
  <p>The code I am using to stream the video looks like this:</p>
  <pre><code>async function loadLocalVideo(_, filePath) {
      if (!filePath) {
          console.log('No file selected');
          return;
      } else {
          fs.access(filePath, (err) =&gt; {
              if (err) {
                  console.log(`File does not exist at path ${filePath}`);
                  return;
              }
          });
      }
  
      expressApp.get('/video', function (req, res) {
          const path = filePath;
          const stat = fs.statSync(path);
          const fileSize = stat.size;
          const range = req.headers.range;
  
          if (range) {
              const parts = range.replace(/bytes=/, '').split('-');
              const start = parseInt(parts[0], 10);
              const end = parts[1] ? parseInt(parts[1], 10) : fileSize - 1;
  
              if (start &gt;= fileSize) {
                  res.status(416).send(
                      'Requested range not satisfiable\n' + start + ' &gt;= ' + fileSize
                  );
                  return;
              }
  
              const chunksize = end - start + 1;
              const file = fs.createReadStream(path, { start, end });
              const head = {
                  'Content-Range': `bytes ${start}-${end}/${fileSize}`,
                  'Accept-Ranges': 'bytes',
                  'Content-Length': chunksize,
                  'Content-Type': 'video/mp4',
              };
  
              res.writeHead(206, head);
              file.pipe(res);
          } else {
              const head = {
                  'Content-Length': fileSize,
                  'Content-Type': 'video/mp4',
              };
              res.writeHead(200, head);
              fs.createReadStream(path).pipe(res);
          }
      });
  }
  </code></pre>
  <p>However, when I want to stream a different video and call the same function again but with a different filePath-param the same video keeps playing. How can I stream another video and display it in the -element?</p>