如何使用 Spring Boot 下载文件到本地
在 Spring Boot 应用中,下载文件到本地常常是一个常见需求。我们可以使用以下步骤实现这个功能:
如何使用 Spring Boot 下载文件到本地
1. 依赖引入
在 pom.xml 文件中添加依赖:
```xml
2. 创建控制器
创建控制器处理下载请求:
```java @RestController public class FileDownloadController {
@GetMapping("/download")
public ResponseEntity
// 读取文件内容 byte[] content = FileUtils.readFileToByteArray(new File(filePath));
// 设置 HTTP 头 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDisposition(ContentDisposition.attachment().filename("file.txt").build());
// 返回响应 return ResponseEntity.ok().headers(headers).body(content); } } ```
3. 配置安全性(可选)
如果需要,可以配置 Spring Security 权限控制下载请求:
```java @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/download").hasRole("USER") .and() .formLogin(); } } ```
4. 测试下载
在浏览器中访问 `/download` URL,文件将以附件形式下载到本地。
优化下载
为了优化下载性能,可以考虑以下建议:
使用nginx等反向代理服务器分发下载请求。 启用压缩,如Gzip,以减小文件大小。 使用HTTP范围头,允许客户端从特定偏移量开始部分下载。
结论
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。