Mime类型的垃圾

为什么相同的文件扩展名有太多的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 Server中。 我不知道这些文件是什么,但是我知道我无法提供文件的完整路径,因为它可能是一个安全问题。

我使用的代码与此类似:

Response.ContentType = "image/jpeg";
Response.AppendHeader("Content-Disposition","attachment; filename=SailBig.jpg");
Response.TransmitFile( '[path to file]' );
Response.End();

我将ContentType属性替换为实际文件的MIME类型。


如果您使用的是Framework 4.5,则可以使用以下命令获取mimemapping:

var mapping = System.Web.MimeMapping.GetMimeMapping("something.jpg");

如果您使用的是Framework 4,则可以访问非公开方法来执行相同的操作:

var assembly = Assembly.Load("System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
var assemblyType = assembly.GetType("System.Web.MimeMapping");

var getMimeMappingMethod = assemblyType.GetMethod("GetMimeMapping", BindingFlags.Static | BindingFlags.NonPublic) ??
                           assemblyType.GetMethod("GetMimeMapping", BindingFlags.Static | BindingFlags.Public);

var mapping = (string)getMimeMappingMethod.Invoke(null, new object[] { fileName });
链接地址: http://www.djcxy.com/p/46931.html

上一篇: Mime Type Gibberish

下一篇: How to add custom mime type?