我想让用户在点击页面上的特定按钮时下载语音文件。我使用以下代码进行按钮操作,
window.location = "sample.mp3";
但是当执行此语句时,文件会在浏览器中播放(我正在使用Firefox)。但它适用于.tar文件。
有没有办法解决这个问题。
答案 0 :(得分:2)
这与浏览器中启用的插件有关。他们听特定的哑剧类型。要解决此问题,您需要添加自己的文件处理程序。例如,在php中,您可以通过标题中的处置来完成:
header('Content-Disposition: attachment; filename="downloaded.mp3"');
我相信你可以用其他语言/框架实现类似的功能。
答案 1 :(得分:0)
如果您正在下载动态二进制文件,Roland的答案是正确的。如果您的文件系统中存在某些内容,并且您希望Apache设置正确的标题,请尝试在.htaccess
中设置:
<Files *.mp3>
ForceType application/octet-stream
Header set Content-Disposition attachment
</Files>
答案 2 :(得分:0)
最后我使用了以下内容,
标题(“Content-type:octet / stream”);
标题(“Content-disposition:attachment; filename =”。$ file。“;”);
标题(“内容长度:”.Filesize($ file));
READFILE($文件);