您好,登錄后才能下訂單哦!
在一個MVC架構下,文件上傳和下載通常是單獨的模塊來處理的。在這個模塊中,通常會有一個文件上傳的控制器和一個文件下載的控制器來處理相應的操作。
文件上傳處理:
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
// 檢查文件是否為空
if (file.isEmpty()) {
return "文件為空";
}
try {
// 獲取文件的字節數組
byte[] bytes = file.getBytes();
// 指定文件保存的路徑
Path path = Paths.get("/path/to/save/file/" + file.getOriginalFilename());
// 寫入文件
Files.write(path, bytes);
} catch (IOException e) {
e.printStackTrace();
return "文件上傳失敗";
}
return "文件上傳成功";
}
<form method="post" action="/upload" enctype="multipart/form-data">
<input type="file" name="file" />
<button type="submit">上傳文件</button>
</form>
文件下載處理:
@GetMapping("/download")
public ResponseEntity<Resource> downloadFile() {
// 獲取文件路徑
Path path = Paths.get("/path/to/save/file/example.txt");
Resource resource = new FileSystemResource(path);
// 設置響應頭
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Disposition", "attachment; filename=" + resource.getFilename());
return ResponseEntity.ok()
.headers(headers)
.contentLength(resource.contentLength())
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.body(resource);
}
<a href="/download">下載文件</a>
通過以上的方式,可以在MVC架構下方便地處理文件上傳和下載操作。在實際項目中,可以根據需求對文件上傳和下載模塊進行擴展和優化。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。