У меня есть приложение youtubeVideos Downloader, и я должен отправить запрос на получение (с URl), чтобы загрузить видео в приложении реагирования / экспресса. Я не совсем понимаю, что использовать следует ли мне использовать GET или POST, если я использую GETЯ должен использовать параметры запроса, которые я не люблю использовать, так как мне приходится выполнять дополнительную работу, чтобы сделать ввод URL-адресов пользователями, которые я должен экранировать "?"и я подумал об использовании Post с req.body.url, чтобы потом использовать его в своем обработчике маршрута.Мне нужна помощь, куда идти?Мой файл index.js в экспрессе:
app.post('/api/getmevideo', async (req, res) => {
try {
const videoURL = req.body.url;
const videoName = await downloadVideoAsync(videoURL);
const videoPath = path.join(__dirname + `/videos/${videoName}.mp4`);
res.sendFile(videoPath, function() {
fs.unlinkSync(videoPath);
});
}
catch(ex) {
res.send({
message : "something went wrong"
})
}
});
Мой код Axios в App.js в React:
downloadHandler() {
if(this.state.inputText !== '') {
axios({
url: '/api/getmevideo',
method: 'POST',
responseType: 'blob', // important
}, { url : this.state.inputText }).then((response) => {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'video.mp4');
document.body.appendChild(link);
link.click();
});
}
}
Спасибо!