2

Spring MVC の ResourceHandlerを使用すると、リソースを簡単に提供できます。

ただし、一部のファイル、つまり.icoファイルが正しく認識されず、適切なContent-Typeヘッダーが取得されません。これはによって処理されるようですResourceHttpRequestHandler

protected MediaType getMediaType(Resource resource) {
    MediaType mediaType = null;
    String mimeType = getServletContext().getMimeType(resource.getFilename());
    if (StringUtils.hasText(mimeType)) {
        mediaType = MediaType.parseMediaType(mimeType);
    }
    if (jafPresent && (mediaType == null || MediaType.APPLICATION_OCTET_STREAM.equals(mediaType))) {
        MediaType jafMediaType = ActivationMediaTypeFactory.getMediaType(resource.getFilename());
        if (jafMediaType != null && !MediaType.APPLICATION_OCTET_STREAM.equals(jafMediaType)) {
            mediaType = jafMediaType;
        }
    }
    return mediaType;
}

では、Spring Boot 1.2 で認識されるファイル拡張子 / MIME タイプを構成するにはどうすればよいですか? (Tomcat と Undertow の両方)

4

1 に答える 1

4

CustomizableEmbeddedServletContainerFactoryには、 MIME タイプを設定するメソッドがあります。タイプ の Bean を提供することで、コールバックを取得できますEmbeddedServletContainerCustomizer

于 2014-12-27T15:35:50.133 に答える