【问题标题】:Downloadable Mp3 Files可下载的 Mp3 文件
【发布时间】:2010-10-13 10:20:38
【问题描述】:

您好,我正在构建一个可以上传自己的 mp3 文件的网站。 所以我将文件上传到服务器,当我链接到它时,浏览器会播放歌曲。 是否可以这样做,以便在按下链接时下载文件而不是播放文件。

例如 www.example.com/music/song.mp3 一旦点击它下载而不是播放。

也许这可以在 JavaScript 中完成?

非常感谢。

【问题讨论】:

  • 这是一个非常广泛的问题。无论如何,它不能使用纯 Javascript 来完成。您将需要一种服务器端语言,并在此处指定您可以使用哪些语言
  • 如果它是您已经熟悉的语言,则可以仅使用 JavaScript,在服务器端使用 node.js (nodejs.org) 之类的东西。

标签: javascript jquery html mp3


【解决方案1】:

您可以通过发送content-disposition 标头告诉浏览器如何处理文件。这将在服务器端完成,无论您从哪里提供 mp3 文件。

http://www.boutell.com/newfaq/creating/forcedownload.html

【讨论】:

    【解决方案2】:

    您需要为您的 mp3 文件设置正确的标题。您可以在 Web 服务器的配置中执行此操作,或者您可以制作一个“下载”脚本来发送正确的标头和 mp3 文件的内容

    如果您使用 PHP,例如,您可以执行以下操作(来自 PHP 手册):

    <?php
    // We'll be outputting a PDF
    header('Content-type: audio/mpeg');
    
    // It will be called file.mp3
    header('Content-Disposition: attachment; filename="file.mp3"');
    
    // The PDF source is in original.mp3
    readfile('original.mp3');
    ?>
    

    【讨论】:

      【解决方案3】:

      强制下载的最简单方法是将文件的 Content-Type 标头设置为 application/octet-stream。不过,您需要在服务器端执行此操作,例如使用 PHP 或类似的。

      【讨论】:

        【解决方案4】:

        我认为更好的方法是如下所示,而不是为下载而编写 PHP 代码。

        假设您的网络主机使用 Apache,在您的音乐目录中,创建一个包含以下内容的 .htaccess 文件:

        <Files *.mp3>
          ForceType application/octet-stream
          Header set Content-Disposition attachment
        </Files>
        

        这实现了与 PHP 相同的功能,但适用于所有 mp3 文件。

        【讨论】:

          【解决方案5】:

          一些建议。

          • 可以进行文件上传,例如使用 PHP。请参阅 PHP 手册中的 handling file uploads,但请注意:如果您想正确地进行操作,您需要进行大量学习。

          • 要在浏览器中播放 MP3 文件,最好的选择是基于样式的 Flash/JS 播放器 ike jPlayer

          • 要使 MP3 文件可下载,请构建一个服务器端脚本,该脚本发送正确的标题,如 @Piskvor 和 @Jan 建议的那样。

          【讨论】:

            猜你喜欢
            • 2017-07-04
            • 1970-01-01
            • 2013-01-09
            • 2014-08-06
            • 1970-01-01
            • 1970-01-01
            • 2015-05-30
            • 2011-05-31
            • 1970-01-01
            相关资源
            最近更新 更多