2014-12-23 5 views
7

나는 봄 부팅 기반 응용 프로그램을 쓰고 크롬에 ​​몇 가지 경고를 발견했습니다. 예를 들어 웹 글꼴 (확장자 없음)이 올바른 MIME 유형 대신 일반/텍스트로 전송된다고 불평합니다.봄 MVC (부팅) 특정 파일 (WOFF 등)에 대한 MIME 형식을 보내지 않습니다

특수 구성없이 정적 파일에 대한 일반 메커니즘을 사용하고 있습니다. 내가 찾은 소스 코드는 "재고"ResourceHandler에 대해 더 많은 MIME 유형을 추가 할 수없는 것처럼 보입니다. Resourcehandler는 스프링 부트 1.2의 기본 바람둥이 인 서블릿 컨테이너에 MIME 형식 인식을 전달합니다.

내가 누락 된 항목이 있습니까? 누군가가 올바른 MIME 형식으로 더 많은 파일 형식을 제공하도록 리소스 매핑을 향상시키는 쉬운 방법을 알고 있습니까?

지금 당장은 정적 컨텐츠 및 패치 이후에 mimetypes가 누락 된 필터를 작성하려고합니다. 어쩌면 내가 스프링 소스 ... ;-)

답변

25

확인에 기능 요청을 만들어야합니다,이 카스타와 서블릿 컨테이너를 정의하고이 새로운 MIME 형식을 추가 할 수 있습니다 봄 부팅에서

:-) 그것을 나 자신을 발견했다.

@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); 
    } 
} 
+0

내 응용 프로그램에서 js 및 css 유형을 설정했지만 동일한 이유로 잘못된 MIME 유형이 계속 발생했습니다. 그것을 보장하는 방법에 대한 제안? –

+1

js 및 css는 기본적으로 작동합니다. 스프링 MVC를 잘못 설정하지 않았습니까? –

+0

네 말이 맞아. 나는 그것이 심하게 구성되어있다. 실제로 JS 및 CSS 파일보다는 로그인 페이지를 가져 오므로 mime 형식 오류가 발생합니다. –