Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SAFARI正在下载一个没有内容类型的.download文件(EXPRESS、NODE.JS)_Javascript_Node.js_Express_Youtube_Youtube Data Api - Fatal编程技术网

Javascript SAFARI正在下载一个没有内容类型的.download文件(EXPRESS、NODE.JS)

Javascript SAFARI正在下载一个没有内容类型的.download文件(EXPRESS、NODE.JS),javascript,node.js,express,youtube,youtube-data-api,Javascript,Node.js,Express,Youtube,Youtube Data Api,使用express和ytdl core(一个下载youtube视频的NPM软件包),我已经能够为我正在制作的一个类似广播的web应用程序下载youtube视频的mp3版本。唯一的问题是,当我尝试用safari下载mp3时,它开始下载.dms或.download文件,而不是mp3。使用curl下载时,它不会返回内容类型 const ytdl = require("ytdl-core"); const app = express(); const fs = require("fs"); app.u

使用express和ytdl core(一个下载youtube视频的NPM软件包),我已经能够为我正在制作的一个类似广播的web应用程序下载youtube视频的mp3版本。唯一的问题是,当我尝试用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);
});
我不知道如何让safari重新确认这是一个有效的mp3文件,并这样对待它

当我转到像
https://ia802508.us.archive.org/5/items/testmp3testfile/mpthreetest.mp3
(Internet Archive上托管的测试mp3文件)safari显示了一个不错的mp3播放器:

使用我的express应用程序下载的任何mp3都不会出现这种情况

如何附加正确的标题或Safari正确处理MP3所需的内容?