Как применить woff-шрифты в Azure для основного приложения .NEt? - PullRequest
0 голосов
/ 10 января 2019

У меня есть приложение .Net Core MVC, которое использует DinkToPdf, который содержит libwkhtmltox.dll, для создания PDF-файлов из HTML. Один из используемых мной шрифтов - это шрифт .woff, и он отлично работает на моей локальной машине. Однако в Azure шрифт не применяется.

Я читал другие потоки, которые утверждают, что mimeTypes должны быть добавлены в FileExtensionContentTypeProvider of .Net Core, а не в файл web.config в приложениях .Net.

var provider = new FileExtensionContentTypeProvider();
        provider.Mappings[".woff"] = "font/woff";
        provider.Mappings[".ttf"] = "font/ttf";
        provider.Mappings[".otf"] = "font/otf";
        app.UseStaticFiles(new StaticFileOptions
        {
            FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "fonts")),
            RequestPath = "/fonts",
            ContentTypeProvider = provider
        });

Я также пробовал разные типы mimeType, но, верю, они правильные. Вы можете видеть, что я также добавил .ttf и .otf, чтобы проверить, не возникла ли у Azure проблема с одним, а с другим. Затем я ссылаюсь на шрифт в css, как показано ниже ...

@font-face {
font-family: 'barcode';
src: url(../fonts/fre3of9x.woff) format('woff'), url(../fonts/fre3of9x.ttf) format('ttf'), url(../fonts/CODE39.otf) format('otf');
font-weight: normal;
font-style: normal; }

Я не вижу ничего в Azure, которое я могу установить, поэтому я ударил кирпичную стену. Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 10 января 2019

Служба приложений Azure, которую, как я полагаю, вы используете, в основном является IIS. IIS не поддерживает WOFF из коробки. Для этого вам потребуется добавить файл web.config в корневой каталог вашего проекта и убедиться, что он развернут в службе приложений. Вот что должно быть в файле web.config.

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

Надеюсь, это поможет.

Возможно, вам придется явно удалить расширения и добавить их обратно. Это тот, который я использую на нескольких известных мне сайтах.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <staticContent>
    <remove fileExtension=".woff" />
    <remove fileExtension=".woff2" />
    <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
    <mimeMap fileExtension=".woff2" mimeType="application/font-woff" />
  </staticContent>
  </system.webServer>
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...