서버 측 애플리케이션을 개발할 때 파일 업로드와 다운로드 기능은 매우 중요합니다. 여기에서는 코틀린을 사용하여 서버 측 애플리케이션에서 파일 업로드와 다운로드를 다루는 방법을 알아보겠습니다.
파일 업로드
Mulitpart 요청 처리
클라이언트로부터 파일을 업로드하기 위해서는 multipart/form-data
형식의 요청을 처리해야 합니다. Spring 프레임워크의 @RequestPart
나 @RequestParam
애노테이션을 사용하여 이러한 종류의 요청을 처리할 수 있습니다.
아래는 코틀린과 스프링 프레임워크를 사용하여 파일을 업로드하는 간단한 예제 코드입니다.
@PostMapping("/upload")
fun uploadFile(@RequestPart file: MultipartFile) {
// 파일 처리 로직 구현
}
이제 클라이언트에서 multipart/form-data
형식으로 파일을 업로드할 수 있습니다.
파일 다운로드
HTTP Response에 파일 포함
파일을 다운로드하려면 웹 서버가 해당 파일을 클라이언트에게 보내야 합니다. 이를 위해 HTTP response에 파일을 첨부하여 보내야 합니다. 스프링 프레임워크를 사용한다면, ResponseEntity
를 사용하여 파일을 HTTP response에 첨부할 수 있습니다.
아래는 코틀린과 스프링 프레임워크를 사용하여 파일을 다운로드하는 간단한 예제 코드입니다.
@GetMapping("/download")
fun downloadFile(): ResponseEntity<ByteArrayResource> {
// 파일 가져오는 로직 구현
val file = ... // 파일 가져오기
return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + file.filename + "\"")
.body(ByteArrayResource(file.readBytes()))
}
이제 클라이언트는 /download
엔드포인트에 HTTP 요청을 보내면 파일을 다운로드할 수 있습니다.
위의 예제 코드는 스프링 프레임워크를 사용한 예제이지만, 다른 웹 프레임워크나 라이브러리에서도 비슷한 방식으로 파일 업로드와 다운로드를 처리할 수 있습니다.
파일 업로드와 다운로드는 웹 애플리케이션에서 매우 중요한 기능이며, 코틀린을 사용하여 간단하게 이를 처리할 수 있습니다.
이상으로 코틀린을 사용한 서버 측 애플리케이션에서의 파일 업로드 및 다운로드 처리 방법에 대해 알아보았습니다.