在Spring Boot中,可以使用MultipartFile接口來實現文件上傳功能,使用ResponseEntity來實現文件下載功能。
文件上傳功能的實現步驟如下:
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
// 處理文件上傳邏輯
// ...
return "上傳成功";
}
spring:
servlet:
multipart:
max-file-size: 10MB
max-request-size: 10MB
<form th:action="@{/upload}" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit">上傳</button>
</form>
文件下載功能的實現步驟如下:
@GetMapping("/download/{filename}")
public ResponseEntity<Resource> downloadFile(@PathVariable String filename) {
// 獲取文件路徑
String filePath = "path/to/file/" + filename;
// 創建文件資源對象
Resource fileResource = new FileSystemResource(filePath);
// 設置響應頭
HttpHeaders headers = new HttpHeaders();
headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + filename);
return ResponseEntity.ok()
.headers(headers)
.contentLength(fileResource.contentLength())
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.body(fileResource);
}
<a th:href="@{/download/filename}" download>下載</a>
其中,filename為要下載的文件名。
以上就是Spring Boot中實現文件上傳下載功能的基本步驟。具體實現根據具體需求可能會有所不同,可以根據需要進行調整。