Controller에서 Excel Upload를 간단하게 구현해보았다. 아주쉽다.
SpringBoot + Swagger(테스트)
우선은 file-upload-dir 이라고 Application.yml에 선언을 해줬따 . 경로를 지정해주는 것이다.
#파일 저장 위치
file.upload-dir=C:/upload/
이후 컨트롤러에서 @Value 를 선언해줬다.
@Value("${file.upload-dir}")
private String uploadDir;
@Operation(summary = "파일 업로드 API", description = "파일 업로드")
@PostMapping(value = "/uploadFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<List<String>> saveFileList(@RequestParam("files") List<MultipartFile> files) throws IOException {
List<String> fileNames = new ArrayList<>();
for (MultipartFile file : files) {
String originalName = Objects.requireNonNull(file.getOriginalFilename());
Path filePath = Paths.get(uploadDir, originalName);
// 동일 파일명이 존재할 경우 덮어쓰기 방지 로직을 추가하고 싶다면 여기에 예외처리 가능
Files.copy(file.getInputStream(), filePath, StandardCopyOption.REPLACE_EXISTING); // 덮어쓰기 허용 or 옵션 수정 가능
fileNames.add(originalName);
}
return ResponseEntity.ok(fileNames);
}
multipart/form-data란?
multipart/form-data는 HTTP 요청에서 파일이나 바이너리 데이터를 함께 전송할 때 사용하는 인코딩 형식이다.
@RequestParam("files") List<MultipartFile> 을 받기 위해서는 요청 본문이 이 형식이어야만 한다.
아래는 테스트 결과입니다 .




간단하게 알아보았지만 여기서 보안문제 , 예외처리, 파일명 검증등에 로직들은 각자 잘 체크해보면 좋을거같다.
다음에는 다운로드 , 삭제에 대한 API를 알아보것다,.
파일 다운로드, 삭제
[JAVA] 파일 삭제 간단하게 구현
Contoller에서 파일 삭제를 간단하게 구현해봤다. 아주쉽다. SpringBoot + Swagger(테스트) 우선은 file-upload-dir 이라고 Application.yml에 선언을 해줬따 . 경로를 지정해주는 것이다#파일 저장 위치file.upload-di
ycds.tistory.com
[JAVA] 파일 다운로드 API 간단하게 구현 + Front End 다운로드 기능 까지.
Contoller에서 파일 삭제를 간단하게 구현해봤다. 아주쉽다. SpringBoot + Swagger(테스트) 우선은 file-upload-dir 이라고 Application.yml에 선언을 해줬따 . 경로를 지정해주는 것이다#파일 저장 위치file.upload-di
ycds.tistory.com
'JAVA' 카테고리의 다른 글
| [JAVA] 파일 다운로드 API 간단하게 구현 + Front End 다운로드 기능 까지. (0) | 2025.04.21 |
|---|---|
| [JAVA] 파일 삭제 간단하게 구현 (0) | 2025.04.21 |
| [JAVA] InetAddress Class를 사용하여 로컬 머신의 IP 주소와 호스트 이름 가져오기 (0) | 2024.07.18 |
| [JAVA] NetworkInterface Class로 IP주소와 호스트 명 가져오기 (0) | 2024.07.18 |
| [JAVA] 카지노 게임 블랙잭 만들기 (0) | 2024.07.18 |