Шрифт .OTF не используется в Azure
У меня есть приложение MVC 4 с шрифтом .otf в папке /images. Он работает на моем рабочем столе, но когда я развертываю на лазурный, я получаю 404 при попытке получить доступ /images/myfont.otf
У шрифта уже есть свойство Build Action, установленное в 'Content'
Как я могу заставить Azure забрать это?
Ответы
Ответ 1
Вероятно, вам нужно настроить IIS, чтобы правильно обслуживать этот тип файла. Вы делаете это, добавляя следующее к элементу <system.webServer>
в Web.config
:
<staticContent>
<mimeMap fileExtension=".otf" mimeType="font/otf" />
</staticContent>
Дополнительная информация
http://www.big.info/2013/06/how-to-use-otf-opentype-format-fonts-on.html
Ответ 2
Поместите в web.config
в конфигурацию system.webServer
следующее:
<system.webServer>
<staticContent>
<remove fileExtension=".otf" />
<mimeMap fileExtension=".otf" mimeType="font/otf" />
</staticContent>
</system.webServer>
Ответ 3
Ошибка HTTP 404 означает, что контент не найден на сервере. Это означает, что при развертывании приложения в Windows Azure содержимое не было в пакете.
Как вы предположили выше, у вас есть .OTF, установленный как контент, это означает, что вы просите компилятор рассматривать его как статический файл и не создавать его, однако конкретный файл не будет скопирован в конечную папку вывода, чтобы быть часть окончательного CSPKG. Вам нужно будет установить "Копировать в выходной каталог" как "всегда копировать", чтобы он мог быть частью CSPKG и развернут в службу Azure Cloud.
После правильного задания свойств файла и создания приложения вы можете вручную посетить папку вывода, чтобы проверить, что файл есть, а также ваш CSPKG, просто разархивировав его.
![enter image description here]()
Ответ 4
Проблема для меня в том, что файлы не были включены в проект. Они находились в правильном пути к файлу ((project)/Content/fonts/*
), но не рассматривались как часть проекта (т.е. Ссылки в файле *.csproj
). Решение состояло в том, чтобы щелкнуть правой кнопкой мыши папку fonts и выбрать опцию Include in Project
.
Ответ 5
Лучше всего, что у вас есть относительные пути к вашим файлам шрифтов внутри вашего css.
Вы получаете Запрет 403? Это может означать, что ваш путь к файлу отключен.
Попробуйте изменить свои пути от.. /filename.otf к чему-то вроде /Styles/filename.otf(или независимо от вашего пути)