spring.servlet.multipart.max-file-size=1MB
spring.servlet.multipart.max-request-size=10MB
file.dir=C:/test/
<form action="/item" method="post" enctype="multipart/form-data">
<div class="container-fluid px-4">
<h1 class="mt-4">Dashboard</h1>
<ol class="breadcrumb mb-4">
<li class="breadcrumb-item active">Dashboard</li>
</ol>
<div class="row">
<label for="formFile" class="form-label">Default file input example</label>
<div class="col">
<input class="form-control" type="file" id="formFile">
</div>
<div class="col">
<button type="button" class="btn btn-outline-primary">File Upload</button>
</div>
</div>
</div>
</form>
enctype="multipart/form-data"
모든 문자를 인코딩하지 않음.
<form>
태그에서 파일이나 이미지를 서버로 전송할 때 주로 사용
<input class="form-control" type="file" id="formFile">
파일 첨부
여러개 파일 첨부
<div class="mb-3">
<label for="formFileMultiple" class="form-label">Multiple files input example</label>
<input class="form-control" type="file" id="formFileMultiple" multiple>
</div>
@Controller
public class HomeController {
@GetMapping({"/", "/index.html"})
public String index(){
return "index";
}
@Value("${file.dir}")
private String fileDir;
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile multipartFile) throws IOException{
String originalFilePath = fileDir + "original/" + multipartFile.getOriginalFilename();
File originalFile = new File(originalFilePath);
try{
FileUtils.copyInputStreamToFile(multipartFile.getInputStream(), originalFile);
}
catch(IOException e){
e.printStackTrace();
}
return "redirect:/";
}