spring boot 项目 下载web-inf资源
时间: 2023-12-04 12:04:51 浏览: 101
在 Spring Boot 项目中,如果需要下载 `WEB-INF` 目录下的资源文件,可以通过以下步骤实现:
1. 在 `src/main/resources` 目录下创建一个名为 `webapp` 的目录。
2. 将 `WEB-INF` 目录下的资源文件复制到 `webapp` 目录下,保持原有的目录结构。
3. 在 `build.gradle` 文件中添加以下配置:
```groovy
sourceSets {
main {
resources {
srcDirs = ["src/main/resources", "src/main/resources/webapp"]
}
}
}
```
4. 在控制器中使用 `Resource` 类来获取资源文件的 URL,例如:
```java
@GetMapping("/download")
public ResponseEntity<Resource> downloadFile() {
Resource resource = new ClassPathResource("/webapp/WEB-INF/file.txt");
return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + resource.getFilename() + "\"")
.body(resource);
}
```
这里的 `ClassPathResource` 类会在 classpath 中查找指定路径下的资源文件,并返回一个 `Resource` 对象,可以用来获取文件的 URL。在上面的例子中,我们将 `file.txt` 文件作为附件下载,因此需要设置相应的 HTTP 头信息。
阅读全文