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 の両方)