当使用Asp.Net VNext时,application / font-woff2不起作用

我正在用VNext + OSX + Chrome做一些实验。 我试图得到一个woff2文件

GET http://localhost:5003/fonts/fontawesome-webfont.woff2?v=4.3.0 

但发生错误。 请参阅下面的请求标题

 Remote Address:127.0.0.1:5003 Request URL:http://localhost:5003/fonts/fontawesome-webfont.woff2?v=4.3.0 Request Method:GET Status Code:404 Not Found 

这是我的Startup.cs

  public void Configure(IApplicationBuilder app) { app.UseStaticFiles(); app.UseServices(services => { services.AddMvc(); }); // Add MVC to the request pipeline app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller}/{action}/{id?}", defaults: new { controller = "Home", action = "Index" }); }); } 

我在Github里面看到了关于StaticFiles的AspNet项目(Link bellow),似乎也被支持。

https://github.com/aspnet/StaticFiles/blob/dev/src/Microsoft.AspNet.StaticFiles/FileExtensionContentTypeProvider.cs

你们能帮我一下吗?

文件格式woff2位于映射列表中,但最近添加了这个文件(2015年2月),因此您可能不会使用包含此更改的版本。 所以要添加一个自定义的文件格式,你可以使用web.config的IIS方式:

 <system.webServer> <staticContent> <remove fileExtension=".woff2" /> <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" /> </staticContent> </system.webServer> 

或者使用StaticFilesOptions

 public void Configure(IApplicationBuilder app) { StaticFileOptions options = new StaticFileOptions(); FileExtensionContentTypeProvider typeProvider = new FileExtensionContentTypeProvider(); if (!typeProvider.Mappings.ContainsKey(".woff2")) { typeProvider.Mappings.Add(".woff2", "application/font-woff2"); } options.ContentTypeProvider = typeProvider; app.UseStaticFiles(options); } 

添加一个MIMEtypes声明到你的web.config

 <system.webServer> <staticContent> <mimeMap fileExtension=".woff2" mimeType="application/font-woff" /> </staticContent> </system.webServer> 

更多信息请参阅:

在IIS中为Web字体设置MIMEtypes

快速修复:IIS .woff字体文件404在asp.net mvc中找不到

如果以上不适合你(没有为我工作)。 然后尝试这一个:

 <mimeMap fileExtension="woff2" mimeType="application/font-woff" /> 

在plesk中添加MIMEtypes

 application/font-woff2 .woff2 

它为我工作