다음은 앞서 정의한 커맨드 객체로 모든 웹 요청 정보를 전달받는 예입니다.
커맨드 객체를 사용하여 파일 업로드하기
Example03Controller.java
package com.springmvc.chap09;
import java.io.File;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.web.bind.annotation.ModelAttribute;
...
@Controller
@RequestMapping("/exam03")
public class Example03Controller {
@GetMapping("/form")
public String requestForm(Member member) {
return "webpage09_02";
}
@PostMapping("/form")
public String submitForm(@ModelAttribute("member") Member member, HttpServletRequest request, HttpSession session) {
String name = member.getName();
String filename = member.getImageFile().getOriginalFilename();
try {
member.getImageFile().transferTo(new File("c:\\upload\\" + name + "_" + filename));
} catch (IOException e) {
e.printStackTrace();
}
return "webpage09_submit";
}
}