123

我正在尝试决定选择哪种 mime 类型来返回 mp3 数据(由 php 提供)

根据这个 mime 类型列表:http ://www.webmaster-toolkit.com/mime-types.shtml

.mp3    audio/mpeg3
.mp3    audio/x-mpeg-3
.mp3    video/mpeg
.mp3    video/x-mpeg

这些有什么区别,我应该使用哪个?

4

6 回答 6

177

您最好的选择是使用RFC 定义的mime-type audio/mpeg

于 2012-05-21T16:03:47.047 回答
38

我遇到了 mime 类型以及对少数文件类型进行测试的问题。看起来每个浏览器都会发送特定文件的 mime 类型的变体。我试图用开源 php 类上传 mp3 和 zip 文件,我发现:

  • 火狐 (mp3): 音频/mpeg
  • 火狐 (zip): 应用程序/zip
  • 铬 (mp3):音频/mp3
  • Chrome (zip):应用程序/八位字节流
  • 歌剧(mp3):音频/mp3
  • Opera (zip):应用程序/八位字节流
  • IE (mp3):音频/mpeg
  • IE (zip): application/x-zip-compressed

因此,如果您需要上传多种文件类型,最好进行一些测试,以便每个浏览器都可以上传文件并通过 mime 类型检查。

于 2015-01-19T09:38:35.710 回答
14

使用.mp3 audio/mpeg,这是我一直使用的。我猜其他人只是别名。

于 2012-05-21T16:02:34.450 回答
6

您应该始终使用audio/mpeg,因为 firefox 无法播放audio/mpeg3文件

于 2014-07-02T08:28:46.220 回答
5

标准方法是在您的 PHP标头函数中使用类似audio/mpeg这样的东西...

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

于 2015-06-27T04:34:04.513 回答
0

根据这个答案,mp3 文件有时会抛出奇怪的 mime 类型:https ://stackoverflow.com/a/2755288/14482130

如果您正在执行某些用户验证,请不要像上面建议的那样允许“application/octet-stream”或“application/x-zip-compressed”,因为它们可能包含 .exe 或其他潜在危险文件。

为了验证 mime 类型何时给出假阴性,您可以按照这个答案https://stackoverflow.com/a/52570299/14482130使用fleep 来完成验证。

于 2020-12-09T02:39:46.783 回答