如何在ASP.NET Core中添加Mime类型

时间:2018-08-09 14:48:58

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

使用.NET Framework 4.6(MVC4 / 5)开发应用程序时,我曾经在web.config文件中添加自定义的mime类型,如下所示(这是我需要在我的应用程序中添加的实际mime类型):

<system.webServer>
  <staticContent>
    <mimeMap fileExtension=".wasm" mimeType="application/wasm"/>
    <mimeMap fileExtension="xap" mimeType="application/x-silverlight-app"/>
    <mimeMap fileExtension="xaml" mimeType="application/xaml+xml"/>
    <mimeMap fileExtension="xbap" mimeType="application/x-ms-xbap"/>
  </staticContent>

如何在.NET Core中复制此行为?可以用相同的方式做吗?

1 个答案:

答案 0 :(得分:8)

此配置用于Web服务器,而不用于ASP.NET。 web.config中的system.webServer部分处理IIS的配置。 如果您的ASP.NET Core应用程序在IIS后面运行,并且IIS正在处理静态内容,那么您应该继续使用同一内容。 如果使用的是nginx,则可以将mime类型添加到配置中或编辑mime.types文件。如果使用其他Web服务器,请查阅Web服务器的文档。 如果ASP.NET Core本身正在处理静态内容并在边缘运行,或者如果您需要ASP.NET Core知道mime类型,则需要配置ASP.NET Core的处理程序来了解它。文档中对此进行了说明。 文档中的示例: 公共无效配置(IApplicationBuilder应用) {     var provider = new FileExtensionContentTypeProvider();     //添加新的映射     provider.Mappings [“。myapp”] =“ application / x-msdownload”;     app.UseStaticFiles(new StaticFileOptions     {         FileProvider =新的PhysicalFileProvider(             Path.Combine(Directory.GetCurrentDirectory(),“ wwwroot”,“ images”)),         RequestPath =“ / StaticContentDir”,         ContentTypeProvider =提供程序     });