Есть ли способ загрузить потоковый файл mp3, который конвертируется на сервере nodejs? - PullRequest
0 голосов
/ 18 февраля 2019

Я ищу способ отправить URL на сервер nodejs и ответить пользователю загрузкой mp3 файла.

Я искал несколько примеров и читал о запросах и ответах, но я не уверенв чем проблема на самом деле.

Это Javascript для HTML:

    var downloadBtn = document.querySelector('.download_button');
    var URLinput = document.querySelector('#myUrl');

    downloadBtn.addEventListener('click', () => {
        console.log(`URL: ${URLinput.value}`);
        sendURL(URLinput.value);
    });

    function sendURL(URL) {
        window.location.href = `http://localhost:4000/download?URL=${URL}`;
    }

Это Javascript для сервера Nodejs:

const express = require('express');
const cors = require('cors');
const ytdl = require('ytdl-core');
const app = express();
const ffmpeg = require('fluent-ffmpeg')
app.use(cors());

app.listen(4000, () => {
    console.log('Server Works !!! At port 4000');
});

app.get('/download', (req,res) => {
var URL = req.query.URL;

res.header('Content-Disposition', 'attachment; filename="file.mp3"');
let stream = ytdl(URL, { 
  quality: 'highestaudio',
}); //HERE THE STREAM FILE IS SELECTED TO BE CONVERTED TO MP3

ffmpeg(stream)
  .audioBitrate(128)
  .pipe(res); // HERE IS CONVERTED AND WHERE I WANT IT TO SEND IT AS A DOWNLOAD TO THE USER.
});

Я ожидалзагрузить файл в потоковом режиме, но вместо этого он попадает на страницу сервера nodejs по адресу / download / url_to_vid

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...