스프링부트 파일업로드 or 파일 다중업로드

최주영·2024년 2월 20일
0

springboot

목록 보기
3/13

✅ 파일 한개 업로드

<%@ 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:/"; // 메인으로이동
	}
}
profile
우측 상단 햇님모양 클릭하셔서 무조건 야간모드로 봐주세요!!

0개의 댓글