获取文件的 MimeType(内容类型)

Posted

技术标签:

【中文标题】获取文件的 MimeType(内容类型)【英文标题】:Get the MimeType(Content Type) of a file 【发布时间】:2012-06-20 03:52:30 【问题描述】:

如何通过文件扩展名获取特定文件的 Mime 类型或内容类型? 本程序采用MVC3 Razor Syntax开发,代码如下:

if (System.IO.File.Exists(file))
            return File(file, "application/pdf", id);
        else
            return RedirectToAction("Index");

我想将 application/pdf 更改为动态值,以便它通过发送到控制器的 id 或文件名提供 MIME 类型。

【问题讨论】:

[c# - 使用 .NET,如何根据文件签名而不是扩展名找到文件的 MIME 类型 - 堆栈内存溢出][1] FindMimeFromData API 怎么样? [1]:***.com/questions/58510/… 文件扩展名不映射到 MIME 类型 1:1。 这里有一个类似的问题:***.com/questions/1612767/… 在.Net 4.5中你可以使用System.Web.MimeMapping.GetMimeMapping() 【参考方案1】:

您可以在HKCR\<file extension>\Content Type 查找注册表值。此值并非适用于所有文件类型,但可能适用于您感兴趣的所有文件类型。

【讨论】:

以上是关于获取文件的 MimeType(内容类型)的主要内容,如果未能解决你的问题,请参考以下文章

我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段

用Java实现获取文件类型的方法。

获取文件mime类型

如何获取本地文件的 MIMETYPE?

iOS开发之网络编程--获取文件的MIMEType

使用 Apache tika 获取 MimeType 子类型