9.2.2 파일 업로드 유형
@RequestParam 이용하기
@RequestParam으로 파일을 업로드하는 방법은 멀티파트 요청이 들어올 때 요청 처리 메서드의 매개변수에 @RequestParam이 적용된 MultipartFile 타입의 매개변수를 사용하는 것입니다.
다음은 @RequestParam을 이용하여 폼 페이지에서 MultipartFile 타입으로 전송되는 매개변수나 업로드한 파일 데이터를 전달받는 예입니다. 업로드한 파일 데이터를 전달받으려면 @RequestParam과 MultipartFile 타입의 매개변수를 사용해야 합니다.
@RequestParam을 적용한 파일 업로드 예
Example01Controller.java
package com.springmvc.chap09;
import java.io.File;
import java.io.IOException;
import org.springframework.web.multipart.MultipartFile;
...
@Controller
@RequestMapping("/exam01")
public class Example01Controller {
@GetMapping("/form")
public String requestForm() {
return "webpage09_01";
}
@PostMapping("/form")
public String submitForm(@RequestParam("name") String name,
@RequestParam("fileImage") MultipartFile file) {
String filename = file.getOriginalFilename();
File f = new File("c:\\upload\\" + name + "_" + filename);
try {
file.transferTo(f);
} catch (IOException e) {
e.printStackTrace();
}
return "webpage09_submit";
}
}