2015-02-26 2 views
46

Я делаю некоторые эксперименты с VNext + OSX + Chrome. Я пытаюсь получить файл woff2.application/font-woff2 не работает при использовании Asp.Net VNext

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 (ссылка внизу), и это, кажется, поддерживается.

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

Можете ли вы, ребята, дайте мне помочь?

+0

возможно дубликат [шрифта не работает в IIS 8.0] (http://stackoverflow.com/questions/25796609/font-face-isnt-working-in-iis -8-0) –

+0

@CharlesBurns на самом деле, мое сообщение не о II8, а другое решение не будет работать, потому что я не работаю с Web.Config. Это не одно и то же решение. Даже тот же вопрос. –

+0

В обоих принятых ответах упоминается одно и то же редактирование Web.Config, и оба относятся к добавлению типа MIME для предотвращения ошибки 404. Другой вопрос упоминает IIS8 только в заголовке, а не в тегах. Это похоже на то, что оба задействованы * две проблемы: типы MIME для обоих, предварительная версия программного обеспечения в одном, опечатка в другой. Я убью свой закрытый голос. –

ответ

105

Формат файла woff2 находится в mapping list, но это был добавлен недавно (февраль 2015 г.), поэтому вы не можете использовать выпуск, содержащий этот chan GE. Таким образом, чтобы добавить пользовательский формат файла, который вы можете использовать путь 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); 
} 
+0

Вы были правы, проблема была в том, что я использовал альфа-версию до этого изменения. Благодарю. –

+0

Тип mime в вашем коде Web.config должен быть application/font-woff2. «2» отсутствует. – Bassem

+0

Спасибо, я исправил его. – meziantou

13

добавить объявление типа пантомимы к вашему web.config

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

для получения дополнительной информации см:

Set mime types for web fonts in IIS

Quick fix: IIS .woff font file 404 not found in asp.net mvc

+1

Если у кого-то есть проблемы, попробуйте удалить. в .woff2, который исправил это для меня после того, как я добавил выше mimeMap в свой web.config. – devfunkd

0

добавить тип пантомимы в Plesk

application/font-woff2 .woff2 

он работал для меня

+0

Можете ли вы немного объяснить? –

+0

Откройте настройки веб-сервера в панели хостинга plesk, и вы можете найти опции MIME-типов. Просто добавьте там тип mime. –

2

Если выше не работает для вас (не работает для меня). Тогда попробуйте с этим один:

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

Работал и для меня. Я предполагаю, что запись, в которую они встроены, включает в себя. в fileExtension, потому что, когда я добавляю карту с .woff2 в качестве расширения, я получаю ошибку, что есть дублирующаяся запись. Когда я удалил. он начал работать. Отличная находка! –

Смежные вопросы