18

我正在尝试通过左键单击下载我网站上的 mp3,而不必右键单击并另存为,因此,为了做到这一点,我必须设置 Content-Disposition: 附件。这是我的第一个网站,所以我对如何实际执行此操作不熟悉,但是我是在我的 html 标记中执行此操作还是以某种方式使用我的托管站点进行设置?

这是我的标记的示例。

<div class="download">
<a href="MP3/Morgan Page, Sultan & Ned Shepard, and BT feat. Angela McCluskey.mp3" 
<img src="img/dlicon.png"/></a>
</div>
4

3 回答 3

25

MP3 列表示例:

<a href="download.php?file=testing.mp3">Download MP3</a>
<a href="download.php?file=testing2.mp3">Download MP3</a>

下载.php:

<?php

$file = $_GET['file'];  

header('Content-type: audio/mpeg');

header('Content-Disposition: attachment; filename="'.$file.'"');

?>
于 2012-01-16T05:43:55.557 回答
4

正如其他人所说,您不会在 HTML 中这样做,并且动态解决方案(例如,使用 PHP)是矫枉过正的。

在您的情况下,我将在 Web 服务器配置中配置 Content-Disposition 标头。对于 Apache,您可以根据 location设置标头,或者拥有一个匹配某些文件名的.htaccess文件。

于 2014-03-27T12:54:16.130 回答
1

在 PHP 中也有一个特殊的功能:

bool http_send_content_disposition ( string $filename [, bool $inline = false ] )

请参阅此处的PHP 手册:http : //de2.php.net/manual/en/function.http-send-content-disposition.php

于 2014-07-12T09:28:51.110 回答