С помощью 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;
}
Итак, как настроить распознаваемые расширения файлов/типы MIME в Spring Boot 1.2? (как для Tomcat, так и для Undertow)