Я ищу способ отправить 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