더북(TheBook)

9.2.2 파일 업로드 유형

@RequestParam 이용하기

@RequestParam으로 파일을 업로드하는 방법은 멀티파트 요청이 들어올 때 요청 처리 메서드의 매개변수에 @RequestParam이 적용된 MultipartFile 타입의 매개변수를 사용하는 것입니다.

다음은 @RequestParam을 이용하여 폼 페이지에서 MultipartFile 타입으로 전송되는 매개변수나 업로드한 파일 데이터를 전달받는 예입니다. 업로드한 파일 데이터를 전달받으려면 @RequestParamMultipartFile 타입의 매개변수를 사용해야 합니다.

 

@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";
    }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.