html使用thymeleaf使用静态资源被拒绝,报错为Refused to apply style from 'http://127.0.0.1:8081/asserts/css/bootstrap.min.css' because its MIME type ('application/json') is not a supported stylesheet MIME type, and strict MIME checking is enabled
时间: 2024-02-15 08:01:29 浏览: 173
出现这个错误是因为浏览器默认会对资源的MIME类型进行严格检查,如果资源的MIME类型与浏览器预期的不一致,就会报错。
您可以尝试修改HTML模板中对静态资源的链接方式,将链接中的“asserts”改为“assets”,并使用Thymeleaf提供的标记来生成链接。例如:
```
<link th:href="@{/assets/css/bootstrap.min.css}" rel="stylesheet" type="text/css"/>
```
如果还是无法解决问题,可以检查服务器端的配置,确保正确设置了静态资源的MIME类型。在Spring Boot中,可以使用以下代码来设置静态资源的MIME类型:
```
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/assets/**")
.addResourceLocations("classpath:/static/assets/")
.setCachePeriod(3600)
.resourceChain(true)
.addResolver(new PathResourceResolver() {
@Override
protected MediaType getMediaType(Resource resource) throws IOException {
String contentType = Files.probeContentType(resource.getFile().toPath());
return contentType != null ? MediaType.parseMediaType(contentType) : null;
}
});
}
}
```
这段代码将静态资源的MIME类型设置为文件的实际类型,可以解决上述问题。
阅读全文