springboot 禁止在线显示图片和pdf
时间: 2023-10-14 09:04:22 浏览: 63
springboot在线展示pdf
在 Spring Boot 中,可以通过配置 Spring MVC 的资源处理器来实现禁止在线显示图片和 PDF。
1. 在 Spring Boot 项目中,找到 `WebMvcConfigurer` 类或者创建一个该类的实现类。
2. 重写 `addResourceHandlers` 方法,添加资源处理器并设置对应的资源路径和缓存时间。例如:
```java
@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// 禁止在线显示 PDF 和图片
registry.addResourceHandler("/pdfs/**", "/images/**")
.addResourceLocations("classpath:/pdfs/", "classpath:/images/")
.setCacheControl(CacheControl.noCache());
}
}
```
在上述代码中,我们使用 `addResourceHandler` 方法来添加资源处理器,设置资源路径,并通过 `setCacheControl` 方法设置缓存时间为 0,从而禁止浏览器缓存这些文件。
3. 在 Spring Boot 项目中启用自定义的 `WebMvcConfigurer` 配置。可以通过 `@Import` 注解或者在 `application.properties/application.yml` 文件中进行配置。例如:
```java
@SpringBootApplication
@Import(MyWebMvcConfigurer.class)
public class MySpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(MySpringBootApplication.class, args);
}
}
```
或者在 `application.properties/application.yml` 文件中添加如下配置:
```yaml
spring:
mvc:
static-path-pattern: /static/**
```
这样,Spring Boot 就会自动扫描项目中的 `WebMvcConfigurer` 类,并将其配置应用到 Spring MVC 中。
阅读全文