使用express和ytdl-core(用于下载youtube视频的NPM软件包),我已经能够下载mp3版本的youtube视频,用于我正在制作的网络应用之类的收音机。唯一的问题是,当我尝试使用Safari浏览器下载mp3时,它将开始下载.dms或.download文件,而不是mp3。使用curl下载时,它不返回内容类型。
const ytdl = require("ytdl-core");
const app = express();
const fs = require("fs");
app.use(cors());
app.listen(4000, () => {
console.log("Server IS ON !!! At port 4000");
});
app.get("/radio/download", (req, res) => {
var URL = req.query.URL;
console.log("A download request was received!");
ytdl(URL, {
filter: "audioonly"
}).pipe(res);
});
我不确定如何获取野生动物园来将其重新整理为有效的mp3文件,并像这样对待它。
当我转到https://ia802508.us.archive.org/5/items/testmp3testfile/mpthreetest.mp3
(Internet存档上托管的测试mp3文件)之类的链接时,Safari会显示一个不错的mp3播放器:。
使用我的Express应用下载的任何mp3都不会发生这种情况。
我如何附加正确的标头,或者Safari如何正确处理我的mp3?