Java & Spring/Spring
[빠르게 보는] 스프링5 / 스프링부트 파일 업로드
데르벨준
2019. 7. 2. 13:29
반응형
내용 설명
Spring 5부터는 Controller 에서 Multipart 를 @RequestPart
어노테이션을 통해
별도 설정 없이 사용할 수 있다.
스프링 4와는 다르게 Jackson JSON 을 사용하고 있어도 별도 설정자체가 필요없다.
Controller
C:\ServerFiles 라는 폴더를 만들어서 실행하자.
핵심 기능만 빠르게 보기 위해 Folder 존재 유무 / 생성 등 소스는 뺐다.
MultipartFile을 통해 내용을 받고 getName() 으로 파일명을 받을 수 있다.
Request DTO 를 던져서 받고 싶다면, @RequestParam으로 받으면 된다. (ex: @RequestParam("title") String title)
@PostMapping(value="/upload") @ResponseBody public void fileUpload(@RequestPart MultipartFile files) { try { String baseDir = "C:\\ServerFiles"; files.transferTo(new File(baseDir + "\\"+ files.getOriginalFilename())); } catch (Exception e) { e.printStackTrace(); } }
JSP
잡다한 거 없이 form tag 내에 file upload 부분과 전송 부분만 만들었다.
file input 의 name 은 controller 의 Parameter Name과 맞춰주자.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>File Upload</title> </head> <body> <form action="/upload" method="post" enctype="multipart/form-data"> <input type="file" name="files"> <button type="submit">보내기</button> </form> </body> </html>
화면은 아래와 같이 생겼다.
예제 저장소
반응형