Application/font-woff2 не работает при использовании Asp.Net VNext
Я экспериментирую с 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" });
});
}
Я видел внутри проекта AspNet в Github о StaticFiles (ссылка ниже) и, похоже, поддерживается.
https://github.com/aspnet/StaticFiles/blob/dev/src/Microsoft.AspNet.StaticFiles/FileExtensionContentTypeProvider.cs
Можете ли вы, ребята, помочь мне?
Ответы
Ответ 1
Формат файла woff2
находится в списке сопоставления, но это было добавлено недавно (февраль 2015 г.), поэтому вы не можете использовать выпуск который содержит это изменение. Поэтому для добавления пользовательского формата файла вы можете использовать способ IIS с помощью web.config
:
<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);
}
Ответ 2
добавить объявление типа mime в ваш web.config
<system.webServer>
<staticContent>
<mimeMap fileExtension=".woff2" mimeType="application/font-woff" />
</staticContent>
</system.webServer>
для получения дополнительной информации см.:
Установите типы mime для веб-шрифтов в IIS
Быстрое исправление: файл шрифта IIS.woff 404 не найден в asp.net mvc
Ответ 3
Если выше не работает для вас (не работает для меня). Затем попробуйте с этим:
<mimeMap fileExtension="woff2" mimeType="application/font-woff" />
Ответ 4
добавить тип mime в plesk
application/font-woff2 .woff2
это сработало для меня