下载音乐文件而不是在浏览器中播放

Downloading a music file instead of playing it in the browser

本文关键字:浏览器 播放 音乐 文件 下载      更新时间:2023-09-26

我正在尝试在我的网站上制作一个下载器,它开始下载选定的文件,但问题是它是一个音乐文件,它只是在新窗口中打开并开始播放它。

脚本是(不要担心下一部分的id部分(:

function downloadsong(id){
    var url = ("/music/downloadablesongs/linkin-park/Minutes-to-Midnight/wake.mp3");
    window.open(url,'Download')
}

如果可以配置托管文件的服务器,则应该能够操作HTTP标头以包含"Content-Disposition"标头。这将提示用户代理(浏览器(保存文件,而不是允许它自动检测/解释内容。

基本格式为:

Content-Disposition: attachment; filename=$file_name.ext 

这取决于用户的浏览器。通常,插件或内置浏览器功能会接管并播放它,而不是让浏览器下载。

您可以做的是让文件不带有扩展名(即删除.mp3(。这样,它就不会件拾取。缺点是用户的额外工作,必须手动添加扩展。

其他方法是简单地使用下载属性。我认为这是最简单的方法。

<a href="/music/downloadablesongs/linkin-park/Minutes-to-Midnight/wake.mp3" download>

在此处查看更多内容。