스프링과 파일업로드

SHByun·2023년 2월 6일
0

1. 스프링과 파일업로드

1. 스프링

  • 스프링은 MultipartFile이라는 인터페이스로 멀티파트 파일을 매우 편리하게 지원한다

2. Controller

@Slf4j
@Controller
@RequestMapping("/spring")
public class SpringUploadController {

    @Value("${file.dir}")
    private String fileDir;

    @GetMapping("/upload")
    public String newFile() {
        return "upload-form";
    }

    @PostMapping("/upload")
    public String saveFile(@RequestParam String itemName,
                           @RequestParam MultipartFile file, HttpServletRequest request) throws IOException {
        log.info("request = {}", request);
        log.info("itemName = {}", itemName);
        log.info("multipartFile = {}", file);

        if (!file.isEmpty()) {
            String fullPath = fileDir + file.getOriginalFilename();
            log.info("파일 저장 fullPath = {}", fullPath);
            file.transferTo(new File(fullPath));
        }

        return "upload-form";
    }
}

3. 정리

  • @RequestParam MultipartFile file
  • 업로드하는 HTML Form의 name에 맞추어 @RequestParam을 적용하면 된다. 추가로@ModelAttribute 에서도 MultipartFile 을 동일하게 사용할 수 있다.


출처

인프런 강의 - 김영한
스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2/dashboard

profile
안녕하세요

0개의 댓글