springboot上传下载文件代码
时间: 2023-12-20 17:03:25 浏览: 93
好的,以下是一个基于Spring Boot框架的文件上传和下载代码示例:
文件上传:
```java
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
try {
// 获取上传的文件名
String fileName = file.getOriginalFilename();
// 将文件保存到本地磁盘
file.transferTo(new File("C:/temp/" + fileName));
return "上传成功!";
} catch (IOException e) {
e.printStackTrace();
}
return "上传失败!";
}
```
文件下载:
```java
@GetMapping("/download")
public ResponseEntity<byte[]> downloadFile() throws IOException {
// 读取本地文件
File file = new File("C:/temp/test.txt");
FileInputStream fis = new FileInputStream(file);
byte[] bytes = new byte[fis.available()];
fis.read(bytes);
fis.close();
// 构造ResponseEntity对象,设置响应头和下载内容
HttpHeaders headers = new HttpHeaders();
headers.setContentDispositionFormData("attachment", URLEncoder.encode(file.getName(), "UTF-8"));
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
ResponseEntity<byte[]> responseEntity = new ResponseEntity<>(bytes, headers, HttpStatus.OK);
return responseEntity;
}
```
以上代码中,文件上传的接口路径为`/upload`,文件下载的接口路径为`/download`。其中,上传接口的参数是`MultipartFile`类型的`file`,下载接口返回的是`ResponseEntity<byte[]>`类型的响应对象。
希望这个代码示例能够帮助到您!
阅读全文