✅ 파일 한개 업로드
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>boot메인화면</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/fileUpload"
method="post" enctype="multipart/form-data">
<input type="file" name="upFile"> <!-- 파일올릴수있는 업로드 버튼 -->
<input type="submit" value="파일저장"> <!-- 전송 버튼 -->
</form>
</body>
#log 설정하기
logging:
level:
'[com.joo.usedmarket]': debug # com.joo.usedmarket 패키지안에있는 로그들 찍을때는 debug까지 다 출력
@Controller
@Slf4j // 로그찍기 위해서 어노테이션 적용
public class BasicController {
@PostMapping("/fileUpload")
public String fileUpload(MultipartFile upFile) {
log.debug(upFile.getOriginalFilename()); // yml 파일에서 로그설정했기때문에 debug도 출력됨
log.debug("{} ",upFile.getSize());
return "redirect:/"; // 메인으로이동
}
}
✅ 파일 다중 업로드
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>boot메인화면</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/fileUpload"
method="post" enctype="multipart/form-data">
<input type="file" name="upFile"><!-- 파일올릴수있는 업로드 버튼 1 -->
<input type="file" name="upFile"><!-- 파일올릴수있는 업로드 버튼 2 -->
<input type="file" name="upFile"> <!-- 파일올릴수있는 업로드 버튼 3 -->
<input type="submit" value="파일저장"> <!-- 전송 버튼 -->
</form>
</body>
@Controller
@Slf4j
public class BasicController {
@PostMapping("/fileUpload")
public String fileUpload(MultipartFile[] upFile) { // 단일과 다르게 [] 배열로 받아야함
for(int i=0; i<upFile.length; i++) {
log.debug(upFile[i].getOriginalFilename());
}
// 위와 동일한 표현 (foreach문)
/*
* for(MultipartFile f : upFile) {
* log.debug(f.getOriginalFilename());
* } */
return "redirect:/"; // 메인으로이동
}
}