在Spring Boot中,可以使用MultipartFile類來處理文件上傳。以下是一個簡單的示例代碼來展示如何在Spring Boot中進行文件上傳:
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/upload")
public class FileUploadController {
@PostMapping("/singleFile")
public String uploadFile(@RequestParam("file") MultipartFile file) {
// 獲取文件名
String fileName = file.getOriginalFilename();
// 保存文件到指定目錄
// 這里可以根據自己的需求進行處理,比如保存到服務器的文件系統或者數據庫中
// 這里只是簡單示例,保存到本地磁盤
try {
file.transferTo(new File("path_to_save_file/" + fileName));
return "File uploaded successfully: " + fileName;
} catch (IOException e) {
e.printStackTrace();
return "File upload failed: " + fileName;
}
}
}
在application.properties或application.yml中可以配置文件上傳限制和臨時存儲位置,例如下面的配置:
# 設置文件上傳的最大大小為10MB
spring.servlet.multipart.max-file-size=10MB
# 設置請求的最大大小為10MB
spring.servlet.multipart.max-request-size=10MB
# 設置文件上傳的臨時存儲位置
spring.servlet.multipart.location=/tmp
<!DOCTYPE html>
<html>
<head>
<title>File Upload</title>
</head>
<body>
<h1>File Upload</h1>
<form action="/upload/singleFile" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<br/><br/>
<input type="submit" value="Upload"/>
</form>
</body>
</html>
通過以上步驟,您就可以在Spring Boot中實現文件上傳功能了。當然,這只是一個簡單的示例,您可以根據自己的需求來進一步完善和定制。