【发布时间】:2012-09-11 01:36:52
【问题描述】:
为什么同一个文件扩展名有这么多 mime 类型?一个人应该如何仅根据扩展名来确定文件的 mime 类型,例如,如果有多种 mime 类型与此扩展名相关联?
Example:
.mp3 audio/mpeg3
.mp3 audio/x-mpeg-3
.mp3 video/mpeg
.mp3 video/x-mpeg
应该如何知道默认的 mime 类型? x- 表示什么?这是 mime 类型的 linux/unix 风格吗?为什么这些都没有(还)标准化?
来源取自:Sitepoint 但是还有多个其他列表也生产类似的意大利面。
编辑:
我要求 ASP.NET 页面应提供指向 IIS 外部源目录中的一些文件的链接。在 Windows 服务器中。我不知道这些文件是什么,但我知道我无法提供文件的完整路径,因为这可能是一个安全问题。
我正在使用类似这样的代码:
Response.ContentType = "image/jpeg";
Response.AppendHeader("Content-Disposition","attachment; filename=SailBig.jpg");
Response.TransmitFile( '[path to file]' );
Response.End();
我将 ContentType 属性替换为实际文件的 mime 类型。
【问题讨论】:
-
MPEG3 可以是纯音频或视频(可能是视频或音频+视频)。 “x-”前缀通常表示 MIME 类型的未批准(由标准委员会)值。实验性的,当标头以 X- 为前缀表示非规范时,可能具有 RFC850 的传统。
-
帮助阅读理解;官方 IANA 文档不包括官方 MIME 类型中的
audio/mpeg3。audio/mpeg在 RFC 3003 中被列为适用于.mp3(以及.mp1和.mp2)文件扩展名。rfc-editor.org/rfc/rfc3003.txt 对于 MP3 视频,video/mpeg似乎合适;它一直追溯到 RFC 2046。rfc-editor.org/rfc/rfc2046.txt -
不,不应该仅根据扩展名来确定文件类型。各种多媒体容器格式,例如
.mp3可以容纳各种类型的流,您必须检查文件以找出它们是什么类型的流。如果您的 Web 服务器无法执行此操作,或者您不想这样做,则必须对文件进行预处理并明确地重命名它们,以便 Web 服务器可以从文件扩展名映射到正确的 MIME 类型,但是当然,这有一些不良后果。
标签: c# mime-types mime