0

我刚刚完成了一些关于 html 和 css 的课程,并且正在继续学习其他语言。但到目前为止,我根本不知道任何其他语言。

我正在学习编码来建立我的音乐网站。

对我来说最重要的是让人们下载我在网站上发布的歌曲。

我不是要求代码来做到这一点。我想知道需要什么,以便我可以学习如何去做。

我不希望人们只需右键单击文件并保存即可下载它。我希望他们点击链接,他们的浏览器开始下载它。

我尝试在论坛、youtube 和这个网站上进行搜索,但我发现的不是我想要的,就是超出了我的理解。

所以,我很感激一个简单的指南,了解如何创建一个链接,当有人点击它时,会提示浏览器下载音频文件。

这是我的 HTML。我已经标记了我打算放置下载链接的位置。

    <table>
                <tr><!--Off The Grid-->
<!--Song Title -->  <td>Off The Grid</td>
<!--Audio File -->  <td>
                        <object width="200px" height="15px">
                            <param name="src" value="../audio/off_the_grid_michael_pitluk.mp3">
                            <param name="autoplay" value="false">
                            <param name="controller" value="true">
                            <param name="bgcolor" value="#ffffff">
                            <embed src="../audio/off_the_grid_michael_pitluk.mp3" autostart="false" loop="false" width="75px" height="40px" controller="true" bgcolor="#ffffff"></embed>
                        </object>
                    </td>
<!--Download Link--><td>Code for a button to download the song</td>
<!--Social Media --><td>
                        <ul>
                            <li>Fill in with Tweet button</li>
                            <li>Fill in with FB share button</li>
                        </ul>
                    </td>
                 </tr>
    </table>
4

2 回答 2

0

您的网站应该有一个名为.htaccess“根目录”的文件(根目录是包含您网站所有其余文件的文件夹)。假设您的站点在 Apache 服务器上运行,如果没有这样的文件,那么您应该能够添加一个。只需命名文件.htaccess并将其放在index.php或所在的同一文件夹中index.html(根目录)。

之后,在您的新.htaccess文件中,您可以添加如下内容:

AddType application/octet-stream .mp3

...这将强制.mp3下载所有文件而不是在浏览器中播放。

还有其他方法,但它们取决于您的网站编写的语言。如果它是严格的 html,这是我能想到的唯一选择。

希望对您有所帮助...如果您需要我澄清任何事情,请告诉我。:)

于 2013-07-05T02:43:01.980 回答
0

服务器发送文件的方式以及浏览器配置为使用它的方式取决于浏览器将采取的操作。链接本身对此没有任何输入。

您需要查看mime 类型,以及它们在 HTTP 标头中的使用方式。

例如:

  1. 我单击指向 www.example.com/song.mp3 的链接,我的浏览器向服务器发送请求。
  2. 服务器将带有http 标头的文件发回content-type: audio/mp3
  3. 我的浏览器会查看它是否有任何可以处理该文件的东西。如果是这样,它可以直接播放文件。(这就是 html 和图片发生的情况)
  4. 如果浏览器无法找到处理程序,那么它可能会提示您保存文件(或者可能只是开始自动保存文件)。

要强制“下载”行为,您可以将服务器配置为发送浏览器不会自动处理的 mimetype。这种方法通常可以在服务器配置级别上完成。请注意,您无法控制浏览器的功能,并且某些浏览器可能仍会尝试处理该文件。

或者,如果您设置了 content-disposition 标头,您可以将文件作为附件发送,例如Content-Disposition: attachment; filename="song.mp3". 这种方法通常需要某种形式的代码(例如 php、asp.net、ruby 等)来执行此行为。

于 2013-07-05T02:48:57.237 回答