57

我正在用 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 的 AspNet 项目中看到了有关 StaticFiles 的内容(链接如下),它似乎得到了支持。

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

你们能给我一些帮助吗?

4

5 回答 5

129

文件格式woff2映射列表中,但这是最近添加的(2015 年 2 月),因此您可能不会使用包含此更改的版本。因此,要添加自定义文件格式,您可以使用 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);
}
于 2015-03-27T11:05:00.263 回答
15

将 mime 类型声明添加到您的 web.config

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

有关更多信息,请参阅:

在 IIS 中设置 Web 字体的 MIME 类型

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

于 2015-03-27T10:15:30.730 回答
2

如果以上对您不起作用(对我不起作用)。然后试试这个:

<mimeMap fileExtension="woff2" mimeType="application/font-woff" />
于 2017-02-23T19:05:52.500 回答
0

在 plesk 中添加 mime 类型

application/font-woff2  .woff2

它对我有用

于 2017-01-18T07:48:27.917 回答
0

我需要先启用扩展(也可以在 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>
于 2018-06-27T16:01:16.573 回答