流/字节数组到文件名/扩展名/内容类型

时间:2019-01-04 13:26:02

标签: c# asp.net-core asp.net-core-mvc

我需要文件二进制文件的内容类型(或扩展名或文件名)。然后提供给AspNetCore.Mvc.ControllerBase.File方法

byte[] result = Repository.GetFile(Id);
if (result == null)
{
    return NotFound();
}
Stream stream = new MemoryStream(result);
return File(stream , "application/pdf");

该代码仅适用于pdf文件。不幸的是,我的文件具有各种扩展名。

1 个答案:

答案 0 :(得分:0)

如果您知道扩展名,则可能可以从中获取MIME类型。实际上,ASP.NET Core在静态文件中间件中内置了一些您可以使用的东西:

Files.lines(Path, Charset))

除此之外,Damien在注释中是正确的,您不能仅从字节数据确定MIME类型。