приложение / шрифт-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
Это мой стартап.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 (ссылка ниже), и кажется, что поддерживаемый.
вы можете мне помочь, ребята?
5 ответов:
формат
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); }
добавьте объявление типа mime в свой веб.конфигурации
<system.webServer> <staticContent> <mimeMap fileExtension=".woff2" mimeType="application/font-woff" /> </staticContent> </system.webServer>
подробнее:
установить типы mime для веб-шрифтов в IIS
быстрое исправление: IIS .WOFF font file 404 не найден в asp.net mvc
Если выше не работает для вас (не для меня). Тогда попробуйте с этим:
<mimeMap fileExtension="woff2" mimeType="application/font-woff" />
мне нужно было сначала включить расширение (что тоже можно сделать в IIS), например:
<system.webServer> ... <security> <requestFiltering> <fileExtensions> <remove fileExtension=".woff2" /> <add fileExtension=".woff2" allowed="true" /> </fileExtensions> </requestFiltering> </security> ... </system.webServer>
а также добавление ранее упомянутого статического контента...
<system.webServer> ... <staticContent> <remove fileExtension=".woff2" /> <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" /> </staticContent> ... </system.webServer>