【问题标题】:content type for mp3 download responsemp3 下载响应的内容类型
【发布时间】:2012-08-14 14:30:47
【问题描述】:

我创建了一个简单的 HTTP 服务器,允许用户下载文件。但这似乎不适用于 mp3 文件。当前内容类型为"application/misc"。为了使其适用于 mp3 文件,我尝试了 "application/mp3""application/data""application/mpeg"

什么是 mp3 或音频文件下载的正确内容类型,我是否缺少其他一些标题?


编辑:文件应自动开始下载,而不是提示用户将其保存在某处。

【问题讨论】:

标签: http-headers mp3 httpresponse


【解决方案1】:

试试"Content-Type: audio/mpeg"

更新

为了鼓励浏览器下载 mp3 而不是流式传输,请这样做

内容配置:filename="music.mp3"'

【讨论】:

  • 是的,我也试过了,但它开始流式传输。我希望下载文件。
  • 您设置的内容类型标题是否超过 1 个?
  • 到目前为止,我只使用一个标头,即 Content-Type。我猜 Content-Disposition 标头会提示用户保存文件。我需要文件自动开始下载。
  • 我的 mp3 被下载,但现在它是零 KB。有任何想法吗?服务器上的文件是 3MB,所以它应该可以工作吗? 'filename' 是如何找到文件的呢?
  • 正确的下载标头是Content-Disposition: attachment; filename="my-file.mp3"
【解决方案2】:
.mp3    audio/mpeg3
.mp3    audio/x-mpeg-3
.mp3    video/mpeg
.mp3    video/x-mpeg

使用 Content-Disposition: attachment... 强制显示下载框,而不必右键单击 -> 将目标另存为。

【讨论】:

  • 我也见过audio/mpeg
【解决方案3】:

将“内容配置”设置为“附件”

【讨论】:

    【解决方案4】:

    使用Content-Type "application/force-download" 对我有用。

    【讨论】:

    • 浏览器不知道如何内联显示该内容类型,因此用户必须下载它(并决定适合播放它的应用程序)。这和做的一样:Content-Type: application/garbage
    【解决方案5】:

    试试下面对我有用的内容类型。

    "audio/mpeg3;audio/x-mpeg-3;video/mpeg;video/x-mpeg;text/xml"
    

    【讨论】:

      【解决方案6】:

      经过大量研究,我找到了一些资源(一些在 SO 上)导致了这个解决方案。它是目前跨设备兼容程度最高的解决方案,解决了很多问题,尤其是 Android 设备(显然是很多问题)。

      Content-Disposition:附件; filename="my_mp3_filename.MP3"

      注意大写扩展名。这很重要。

      【讨论】:

        猜你喜欢
        • 2021-02-19
        • 1970-01-01
        • 2010-09-16
        • 2015-03-10
        • 2011-01-21
        • 2010-09-28
        • 2019-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多