Lonely Snowman
 

[Spring] 파일 폼 데이터 전송

파일업로드 폼 방식 요청 처리
파일업로드 폼 파일 요소값을 스프링 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";
	}