파일업로드 폼 방식 요청 처리
파일업로드 폼 파일 요소값을 스프링 MVC가 지원하는 MultipartFile 매개변수로 처리함
MultipartFile 타입 매개변수의 이름과 파일 폼필드명이 같아야 한다
<form action="registerFile03" method="post" enctype="multipart/form-data">
<p>userId : <input type="text" name="userId" value="hongkd" /></p>
<p>password : <input type="password" name="password" value="1234" /></p>
<p><input type="file" name="picture" /></p>
<p><input type="file" name="picture2" /></p>
<p><input type="submit" value="파일업로드" /></p>
</form>
@ResponseBody
@PostMapping("/registerFile03")
public String registerFile03(MultipartFile picture, MultipartFile picture2, Member member) {
log.info("registerFile03에 왔다");
log.info("userId : " + member.getUserId());
log.info("password : " + member.getPassword());
//원본파일명
String fileName = picture.getOriginalFilename();
//파일 크기
long size = picture.getSize();
//MIME타입
String contentType = picture.getContentType();
log.info("fileName : " + fileName);
log.info("size : " + size);
log.info("contentType : " + contentType);
return "success";
}
MemberVO에 MultipartFile 타입 만들어두고 MemberVO를 매개변수로 써도 된다
private MultipartFile picture;
private MultipartFile[] pictures; //multiple
@ResponseBody
@PostMapping("/registerFile04")
public String registerFile04(Member member) {
log.info("registerFile04에 왔다");
log.info("userId : " + member.getUserId());
log.info("password : " + member.getPassword());
MultipartFile picture = member.getPicture();
String fileName = picture.getOriginalFilename();
long size = picture.getSize();
String contentType = picture.getContentType();
log.info("fileName : " + fileName);
log.info("size : " + size);
log.info("contentType : " + contentType);
return "success";
}