content type

There are 1 entries for the tag content type

.NET获取文件的MIME类型(Content Type)

MitchellChu 2013-08-23 .NET技术

获取文件的MIME类型有很多方法,闲话少絮,直接进入主题,下面是使用C#获取文件的MIME类型(Content Type)的各种方法。 第一种:这种获取MIME类型(Content Type)的方法需要在.NET 4.5之后才能够支持,但是非常简单。 MIME TYPE: // 需要先行引入System.Web // 之后可以直接使用MimeMapping类的静态方法获取文件的MIME类型 string file = @"mimetype.txt"; string contentType = MimeMapping.GetMimeMapping(file); Console.WriteLine("{0}'s MIME TYPE:{1}", file, contentType); // Console output: /* mimetype.txt's Mime Type: text/plain */ 优点:方便快捷 缺点:只能在.NET 4.5之后使用 如果没有的MIME TYPE将会返回: application/octet-stream   第二种:直接在系统中通过文件的后缀获取文件的Content Type   // 自定义一个方法 // 通过系统中的Content Type来获取MIME TYPE public static string GetMimeType(string fileName) { string mimeType = "application/unknown"; string ext = Path.GetExtension(fileName).ToLower(); RegistryKey regKey = Registry.ClassesRoot.OpenSubKey(ext); if (regKey != null && regKey.GetValue("Content Type") != null){ mimeType = regKey.GetValue("Content Type").ToString(); } return mimeType; }  优点: 1. 直接快速 2. 没有.NET的版本限制; 缺点: 1. 需要有访问注册表的权限; 2. 获取的Content Type范围受系统环境约束。 这个方法在没有找到对应的MIME Type时,返回的是application/unknow,当然,你也可以自己定义其他任何返回值。   第三种: 自己动手写代码,将MimeType写成Mapping类,需要的时候直接使用。 // 通过自己定义一个静态类 // 将所有的Content Type都扔进去吧 // 调用的时候直接调用静态方法即可。 public static class MimeMapping { ...

关于博主

  一枚成分复杂的网络IT分子,属于互联网行业分类中的杂牌军。