Spring MVC (Boot) не отправляет тип MIME для определенных файлов (WOFF и т. д)
Я пишу приложение на основе spring boot и заметил несколько предупреждений в chrome. Он жалуется, что, например, веб-шрифты (расширение woff) отправляются как обычный/текст вместо их правильного типа mime.
Я использую обычный механизм для статических файлов без специальной настройки. Исходный код, который я нашел, выглядит так, как будто невозможно добавить больше mimetypes для "stock" ResourceHandler. Resourcehandler отправляет распознавание типа mime в контейнер сервлета, который является tomcat по умолчанию для spring-boot 1.2.
Я что-то пропустила? Кто-нибудь знает простой способ улучшить сопоставление ресурсов, чтобы обслуживать больше типов файлов с правильным типом mime?
прямо сейчас я думаю написать фильтр, который запускается для статического контента и исправляет отсутствующие типы mimetypes после факта. Возможно, мне следует создать запрос функции в springsource... ;-)
1 ответов
хорошо, нашел сам : -)
в Spring boot вы можете настроить контейнер сервлета с помощью этого настройщика и добавить туда новые типы mimetypes.
(обновление)
Весна-ботинок 2.x:
@Component
public class ServletCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
@Override
public void customize(TomcatServletWebServerFactory factory) {
MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT);
mappings.add("woff", "application/x-font-woff");
factory.setMimeMappings(mappings);
}
}
Весна-ботинок 1.x:
@Component
public class ServletCustomizer implements EmbeddedServletContainerCustomizer {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT);
mappings.add("woff","application/font-woff");
mappings.add("woff2","application/font-woff2");
container.setMimeMappings(mappings);
}
}