制作可下载歌曲需要什么?

时间:2013-07-05 02:29:13

标签: download

我刚刚完成了一些关于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>

2 个答案:

答案 0 :(得分:0)

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

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

AddType application/octet-stream .mp3

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

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

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

答案 1 :(得分:0)

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

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

举例来说:

  1. 我点击指向www.example.com/song.mp3的链接,我的浏览器向服务器发送请求。
  2. 服务器使用http header content-type: audio/mp3
  3. 发送回文件
  4. 我的浏览器会查看是否有任何可以处理该文件的内容。如果是,它可以直接播放文件。 (这是html和图片会发生的事情)
  5. 如果浏览器无法找到处理程序,则可能会提示您保存文件(或者可能只是自动开始保存文件)。
  6. 要强制执行“下载”行为,您可以将服务器配置为发送浏览器无法自动处理的mimetype。这种方法通常可以在服务器配置级别上完成。请注意,您无法控制浏览器的功能,并且某些浏览器仍可能尝试处理该文件。

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