在C#中获取文件的MIME类型(Content Type)的方法如下

一.使用MimeMapping类

在System.Web程序集中,当前为静态类,就一个获取

    //
// 摘要:
// 映射文档扩展使 MIME 类型内容。
public static class MimeMapping
{
//
// 摘要:
// 返回映射为指定的文件名的 MIME。
//
// 参数:
// fileName:
// 用于确定 MIME 类型的文件名。
public static string GetMimeMapping(string fileName);
}

注:1.使用简单

2.需要.Net Framework 4.5以上支持

3.如果没有找到对应的MIME Type的类型则返回二进制文件的类型 :

application/octet-stream
//MimeMapping 类仅有一个方法就是获取文件的Mime类型
//需要.Net 4.5的框架
string file = @"H:\桌面\截图\博客截图\dbv2.png";
string contentType = MimeMapping.GetMimeMapping(file);
Console.WriteLine($"MIME Type:{contentType}");

二、使用注册表中定义的MIME类型,查询

string file = @"H:\桌面\截图\博客截图\dbv2.png";
string mimeType = "application/unknown";
string ext = Path.GetExtension(file).ToLower();
//使用注册表中的Mime类型对应
RegistryKey regKey = Registry.ClassesRoot.OpenSubKey(ext);
if (regKey != null && regKey.GetValue("Content Type") != null)
{
mimeType = regKey.GetValue("Content Type").ToString();
}
Console.WriteLine(mimeType);

三、可以自己定义扩展名对应的Mime类型

更多:

C# 获取当前路径方法整理

C#获取当前系统磁盘符、系统目录、桌面等

C#获取磁盘列表与信息

C# 获取文件的MIME类型的更多相关文章

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

    第一种:这种获取MIME类型(Content Type)的方法需要在.NET 4.5之后才能够支持,但是非常简单. 优点:方便快捷 缺点:只能在.NET 4.5之后使用 public FileResu ...

  2. [笔记] C# 如何获取文件的 MIME Type

    MIME Type 为何物: MIME 参考手册 svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types 常规方式 对于有文件后 ...

  3. .apk文件的MIME类型

    IIS7中下载apk文件会报404错误. 找到:IIS目录,MIME类型 添加.apk文件的MIME类型. 文件扩展名:.apk MIME类型:application/vnd.android.pack ...

  4. Qt之根据扩展名获取文件图标、类型

    简述 在C++根据扩展名获取文件图标.类型一节中我们分享了如何根据扩展名来获取对应的文件图标.类型,下面.我们在Qt中使用它. 简述 示例 效果 源码 更多参考 示例 如下,我们根据扩展名来获取对应的 ...

  5. Qt之QFileIconProvider(根据扩展名获取文件图标、类型)

    简述 在Qt之QFileIconProvider一节中已经讲解关于如何获取文件图标与类型.但只仍针对本地已存在的文件,此节,我们主要运用前面分享的内容,讲述如何通过任意后缀或本地不存在的文件来获取相关 ...

  6. c++ 获取文件图标,类型名称,属性 SHGetFileInfo

    SHGetFileInfo是一个相当实用的Windows API函数. // [MoreWindows工作笔记4] 获取文件图标,类型名称,属性 SHGetFileInfo #include < ...

  7. IE9以上 CSS文件因Mime类型不匹配而被忽略 其他浏览器及IE8以下显示正常

     什么是Mime类型? MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名 ...

  8. C++根据扩展名获取文件图标、类型

    简述 在Windows系统中,根据扩展名来区分文件类型,比如:.txt(文本文件)..exe(可执行程序).*.zip(压缩文件),下面,我们来根据扩展名来获取对应的文件图标.类型. 简述 源码 源码 ...

  9. 【IIS】IIS6.1配置 *.config 文件 的MIME类型用于升级程序

    参考:http://blog.csdn.net 1. 2. 请求筛选中允许config文件下载, 3. 添加.config到 MIME类型. 3.注意:筛选项.

随机推荐

  1. Ubuntu系统无法获得锁/var/lib/dpkg/lock - open (11: 资源暂时不可用)的解决方案

    Ubuntu系统无法获得锁/var/lib/dpkg/lock - open (11: 资源暂时不可用)的解决方案     问题 使用Ubuntu打开终端时,输入带有sudo apt-get 命令行是 ...

  2. Win10解决无法访问其他机器共享的问题

    Win10解决无法访问其他机器共享的问题     你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问.这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁. 管理员身份执 ...

  3. 如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器(转)

    如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器 什么是Apache Web Server? Apache或Apache HTTP服务器是一个免费的开源Web服务器,由Apac ...

  4. 005.KVM日常管理2-virt管理

    一 安装管理工具 [root@kvm-host ~]# rpm -qa|grep libguestfs-tools #查看相关管理工具,若没安装,可使用yum安装.   二 日常管理 2.1 命令格式 ...

  5. linux系统入门一些常用命令解析

    接触IT行业的时候,就使用了ubuntu系统做开发,那个时候是一头雾水,从习惯了window下的界面操作,到终端下的命令行操作,着实一开始让人很不习惯.但是没办法,那个时候公司每个人都用Ubuntu系 ...

  6. js数据结构之列表的详细实现方法

    * 列表用于存放数据量较少的数据结构* 当数据量较大时,不需要对其进行查找.排序的情况下,使用列表也比较方便. 本数据结构在node环境下运行,需要对node有个基本是了解. 1. listSize: ...

  7. shell 父子传值

    通过一个中间文件进行: #!/bin/bash   (  subvar="hello shell"  echo "$subvar" > temp.txt ...

  8. 设计模式-装饰者模式(Decorator Pattern)

    本文由@呆代待殆原创,转载请注明出处. 此设计模式遵循的设计原则之一:类应该支持扩展,而拒绝修改(Open-Closed Principle) 装饰者模式简述 装饰者模式通过组合的方式扩展对象的特性, ...

  9. Spring重复扫描导致事务失败的解决方案及深入分析

    问题及日志使用Spring和mybatis,然后配置事务,出现SqlSession was not registered for synchronization because synchroniza ...

  10. 【BZOJ-2142】礼物 拓展Lucas定理

    2142: 礼物 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1313  Solved: 541[Submit][Status][Discuss] ...