Azure WebApp未加载我的字体

时间:2017-08-06 16:49:26

标签: c# asp.net-mvc azure-web-sites

我的Azure上的WebApp有点问题。我的自定义字体在我的localhost上正确呈现,但是当我将项目部署到Azure并访问WebSite时,WebBrowser通知我无法找到我的字体(错误404)。但是当我从Azure门户访问FTP服务器时,我可以找到这些字体。 我也试过这个链接的解决方案: http://www.codepal.co.uk/show/WOFF_files_return_404_in_Azure_Web_Sites

但遗憾的是没有任何进展。

2 个答案:

答案 0 :(得分:8)

  

我的Azure上的WebApp有点问题。我的自定义字体在我的localhost上正确呈现,但是当我将项目部署到Azure并访问WebSite时,WebBrowser通知我无法找到我的字体(错误404)。但是,当我从Azure门户访问FTP服务器时,我可以找到这些字体

原因是这些格式在IIS的 MIME类型列表中不存在,如果您仍然遇到问题,并且在添加MIME类型后IIS仍未提供文件,正如Amey Vaidya所说,您可以尝试在重新声明这些字体文件的MIME类型声明之前删除MIME类型声明。

同样的问题在我身边:

项目文件夹结构

enter image description here

注意:我使用的是sansation_light.woff

default.html中

{{1}}

404错误

enter image description here

添加MIME类型后,它可以正常工作。

{{1}}

enter image description here

此外,请确保在@font-face rule的{{1}}属性中指定字体文件的正确网址。如果可能,您可以在Azure Web应用程序环境中测试我的示例代码并检查它是否有效,如果Azure Web应用程序环境出现问题导致问题,您可以尝试将项目部署到新的Azure Web应用程序,检查它是否可以工作。

答案 1 :(得分:1)

将此添加到您的web.config中。删除任何以前的。清理项目并再次构建它。

 <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
      <remove fileExtension=".eot" />
      <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
      <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
    </staticContent>
  </system.webServer>