首页 > 科技 >

😊 SpringMVC实现文件下载的两种方式

发布时间:2025-03-24 21:05:32来源:

在Java开发中,文件下载是一个常见的需求。利用SpringMVC框架,我们可以轻松实现这一功能。以下是两种主流的实现方式,帮助开发者快速上手!

第一种是通过`ResponseEntity`实现:

这种方式直接返回一个`ResponseEntity`对象,设置响应头和文件流。代码简洁且直观,适合快速开发场景。例如:

```java

@GetMapping("/download")

public ResponseEntity downloadFile() {

Resource resource = new UrlResource("file:path/to/your/file");

return ResponseEntity.ok()

.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + resource.getFilename() + "\"")

.body(resource);

}

```

第二种则是通过`OutputStream`实现:

这种方式需要手动操作输出流,灵活性更强。适用于需要对下载过程进行更精细控制的场景。示例代码如下:

```java

@GetMapping("/download")

public void downloadFile(HttpServletResponse response) throws IOException {

File file = new File("path/to/your/file");

response.setHeader("Content-Disposition", "attachment; filename=" + file.getName());

Files.copy(file.toPath(), response.getOutputStream());

response.getOutputStream().flush();

}

```

这两种方法各有千秋,可根据实际项目需求选择哦!✨

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。