File 업로드, 다운로드 기능 등을 수행할 시 주의해야 할 HTML, 파라미터 등에 대해서 설명드리겠습니다.
1. input 타입을 file로 설정
<input type="file" class="form-control border" name="upfile" multiple="multiple">
2. form 태그에서 enctype="multipart/form-data" 설정
- 단순히 post만 하게 되면 파일 이름(문자열)으로만 넘어갑니다.
<form id="form-register" method="POST" enctype="multipart/form-data" action="">
3. Spring parameter 설정
file은 MultipartFile[] files 또는 MultipartFile file로 설정합니다.
MultipartFile[] files은 여러 개 파일들을 받는 배열이며, MultipartFile files은 하나의 파일을 받는 파라미터입니다.
@PostMapping("/write")
public String write(BoardDto boardDto, @RequestParam("upfile") MultipartFile[] files, HttpSession session,
RedirectAttributes redirectAttributes) throws Exception
4. 파일 확장자만 추출하고 싶은 경우
파일 업로드의 기능을 구현하는 과정에서 확장자만 추출하는 코드가 필요하게 됩니다. 이때 사용하는 메서드가 lastIndexOf() 로 뒤에서부터 처음 발견되는 인덱스를 반환하며 찾지 못한 경우 -1을 출력하게 됩니다.
public class Test {
public static void main(String[] args) {
String fileName = "test.jpg";
int index = fileName.lastIndexOf(".");//뒤에서부터 처음 발견되는 인덱스를 반환, 찾지 못하면 -1
String name = fileName.substring(index+1);//확장자만 가져옴
System.out.println(name);//jpg 출력
}
}
'Spring' 카테고리의 다른 글
[Spring] AOP (0) | 2022.10.27 |
---|---|
[Spring]Mybatis 연결 - root-context.xml 설정 (0) | 2022.10.25 |
[Spring] Filter, Interceptor (0) | 2022.10.21 |
[Spring] Model 객체 (0) | 2022.09.17 |
[Spring] DB 정보 properties파일을 통해 분리하기 (0) | 2022.08.16 |