SpringBootで複数ファイルをアップロードする方法を教えてください。
スプリング・ブートでは、MultipartFile型の引数を使用して複数ファイルのアップロードを受け取ることができます。例を以下に示します。
- コントローラーで複数ファイルアップロードの処理メソッドを作成する:
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("files") MultipartFile[] files) {
// 处理文件上传逻辑
for (MultipartFile file : files) {
// 获取文件名
String fileName = file.getOriginalFilename();
// 保存文件到服务器
// ...
}
// 返回上传成功的页面或其它逻辑
return "uploadSuccess";
}
- HTMLフォーム内の複数のファイルをアップロードするためのインプット要素を追加し、name属性を「file」に設定します:
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="files" multiple>
<input type="submit" value="Upload">
</form>
- Spring Boot の設定ファイルに、ファイルアップロードをサポートする次の設定を追加する必要があります。
spring.servlet.multipart.enabled=true
spring.servlet.multipart.file-size-threshold=2KB
spring.servlet.multipart.max-file-size=200MB
spring.servlet.multipart.max-request-size=215MB
上記の構成では、file-size-threshold はファイルサイズの閾値を示し、その閾値以下のファイルはメモリ内に保存され、閾値を超えるファイルはディスク上に保存されます MAX-FILE-SIZE と MAX-REQUEST-SIZE はそれぞれ単一ファイルと要求全体に対する最大サイズを表します
これにより、Spring Boot での複数ファイルのアップロード機能が完了します。