[스프링] 파일 업로드 처리
이번 포스트에서는 스프링 프레임워크를 사용하여 파일 업로드를 처리하는 방법에 대해 알아보겠습니다.
1. 의존성 추가
먼저, Maven을 사용하는 경우 pom.xml
에 아래 의존성을 추가합니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
2. 파일 업로드 폼 생성
HTML 폼에서 파일을 업로드하려면 <form>
요소에 enctype
속성을 추가하여 multipart/form-data
로 설정해야 합니다.
<form method="post" action="/upload" enctype="multipart/form-data">
<input type="file" name="file" />
<button type="submit">업로드</button>
</form>
3. 컨트롤러 작성
스프링의 @RequestParam
어노테이션을 사용하여 파일을 컨트롤러로 전달받을 수 있습니다. 다음은 파일을 업로드 받아 처리하는 예제입니다.
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
@RestController
public class FileUploadController {
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
// 파일 처리 로직 구현
// file.getBytes();
// file.transferTo(new File("경로/파일명"));
return "파일이 성공적으로 업로드되었습니다.";
}
}
4. 파일 처리
MultipartFile
객체를 사용하여 파일을 저장하거나 처리할 수 있습니다. getBytes()
메서드를 사용하여 파일 내용을 바이트 배열로 얻을 수 있으며, transferTo()
메서드를 사용하여 지정된 경로에 파일을 저장할 수 있습니다.
5. 완료
이제 파일 업로드에 대한 스프링 처리가 완료되었습니다. 파일 업로드 기능을 테스트하여 원활하게 작동하는지 확인해보세요!