加载网站时浏览器未加载字体文件 (woff / woff2)

Browser not loading font file (woff / woff2) when loading website

我有一个部分剃须刀页面,其中我为名为 Futura Bk BT Book.[=16 的字体定义了 font-familyfont-face =]

@if (!string.IsNullOrEmpty(Model.Font))
{
    <text>
        @@font-face{
            font-family: "'Futura Bk BT Book'";
                src: url(@Url.Content("~/Assets/fonts/Futura Bk BT Book.woff2")) format("woff2"),
                     url(@Url.Content("~/Assets/fonts/Futura Bk BT Book.woff")) format("woff");
        }
        html{
            font-family: @Html.Raw(Model.Font);
        }
    </text>
}

当我访问此页面时,浏览器没有加载链接的 woff 文件,而是使用 @Model.Font 中给出的下一个字体,即 Arial.

当我尝试通过 url 访问字体文件时,我通过 @Url.Content("~/Assets/fonts/Futura Bk BT Book.woff2") 访问,然后我可以下载该文件。所以似乎该文件是可访问的,只有浏览器不会尝试加载它。

我正在使用 C# 7.3 和 IIS 10。

我很高兴收到任何提示,如果需要可以提供更多信息。

据我所知,IIS 不需要为 WOFF 添加 mime 类型,它需要为 WOFF2 添加一个。 所以你可以尝试在IIS中添加mime类型,修改你的Web.Config如下:

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

我们解决了这个问题。我们的构建管道没有重建 css 文件是一个问题。所以上面的功能完全没有问题。