web-dev-qa-db-ja.com

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" });
        });
    }

StaticFiles(リンクを鳴らす)についてGithubのAspNetプロジェクトを見て、サポートされているようです。

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

助けてもらえますか?

55
Austin Felipe

ファイル形式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);
}
120
meziantou

mIMEタイプ宣言をweb.configに追加します

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

詳細については、以下を参照してください。

IISでWebフォントのMIMEタイプを設定

クイックフィックス:IIS .woffフォントファイル404がasp.net mvcに見つかりません

15
user2985029

上記がうまくいかなかった場合(私にとってはうまくいかなかった)。次に、これを試してください:

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

pleskにMIMEタイプを追加

application/font-woff2  .woff2

それは私のために働いた

0
Prince Prasad

私は最初に拡張機能を有効にする必要がありました(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>
0
paraih