如何在 asp.net mvc 5 中获取文件的内容类型

How to get the File's Content Type in asp.net mvc 5

我知道保存在服务器上的文件名,我想获取保存在服务器上的那个文件的 contentType,我想要的是这样的:

string loc = Server.MapPath("~/Content/Images/document.*");

但是上面的代码不起作用,错误提示:

Illegal character is specified i.e.(*)

我的问题是,如何获取我知道并保存在服务器上的文件名的扩展名和内容类型?

您是在寻找文件 extension 还是文件的 content-type(mime 类型)?

如果您要查找文件扩展名,您可以使用 Path.GetExtension:

var fileExt = Path.GetExtension(Server.MapPath("a.txt"));
// returns ".txt"

如果您要查找文件 mime 类型,请使用 MimeMapping.GetMimeMapping

var mimeType  = MimeMapping.GetMimeMapping("a.txt");
// returns "plain/text"