音频下载链接在 Firefox 中有效,但在 Chrome 中流式传输

Posted

技术标签:

【中文标题】音频下载链接在 Firefox 中有效,但在 Chrome 中流式传输【英文标题】:Audio download link works in Firefox but streams in Chrome 【发布时间】:2013-08-07 13:12:18 【问题描述】:

我在我正在构建的网站上设置了一个下载链接,这样当用户注册音乐家邮件列表时,他们就可以免费下载曲目。使用此当前代码:

<a href="http://samsouth.com/audio/Mind.mp3">click here to download</a>

当您单击链接时,它在 Firefox 中有效,它会打开一个窗口,询问您是否要下载,但在 Chrome 中它会流式传输曲目。如果我将文件更改为 .ogg,则会发生相反的情况——我可以在 Chrome 中下载,但它在 Firefox 中流式传输。猜猜这是因为我提供了一种浏览器能够流式传输的格式。那么如何停止它的流式传输呢?我可以提供两个href吗?

在这里寻找类似的问题后,我发现了可以添加到链接的 html5 属性download="filename.mp3" 我试过这个:

<a  href="http://samsouth.com/audio/Mind.mp3" download="Mind.mp3">click here to download</a>

但它仍然在 Chrome 中保持流式传输,有什么想法吗?请帮忙?

【问题讨论】:

【参考方案1】:

你能压缩文件吗?这样可以避免流式传输。

其他选项

php 的其他选项:

<?php
$file = $_GET['file'];
header ("Content-type: octet/stream");
header ("Content-disposition: attachment; filename=".$file.";");
header("Content-Length: ".filesize($file));
readfile($file);
exit;
?>

然后

<a href="direct_download.php?file=FILENAME.mp3">Download the mp3</a>

【讨论】:

【参考方案2】:

你能试试下面的代码吗?

<a href="http://test.com/path/to/my/file.mp3" download="true">download</a>

我认为,它适用于所有浏览器。

【讨论】:

以上是关于音频下载链接在 Firefox 中有效,但在 Chrome 中流式传输的主要内容,如果未能解决你的问题,请参考以下文章

锚链接内的按钮在 Firefox 中有效,但在 Internet Explorer 中无效?

无限 CSS 旋转在 Firefox 中有效,但在 Chrome 中无效

new Date() 在 Chrome 中有效,但在 Firefox 中无效

useLocation 在 GoogleChrome 中有效,但在 Firefox 中无效

jQuery:代码在 Firefox 中有效,但在 IE 中无效

以下 JavaScript 似乎在 Firefox 中有效,但在 Chrome 中无效?