[kotlin] 코틀린 웹 서버에서 파일 다운로드 구현하기

코틀린을 사용하여 웹 서버를 구축하고 파일 다운로드 기능을 구현하는 방법에 대해 알아보겠습니다. 이를 위해 Ktor 프레임워크를 사용할 것입니다.

Ktor 설치하기

Ktor는 Kotlin 기반의 경량 웹 프레임워크로서, 다양한 HTTP 기반 서비스를 빠르고 쉽게 구현할 수 있습니다. 아래의 명령어를 사용하여 Ktor를 설치합니다.

$ kotlin -version

파일 다운로드 라우트 설정하기

먼저, 파일 다운로드를 처리할 라우트를 설정해야 합니다. 아래의 예제 코드는 /download 경로에서 파일 다운로드를 처리하는 예제입니다.

import io.ktor.application.*
import io.ktor.http.content.*
import io.ktor.routing.*
import io.ktor.server.engine.*
import io.ktor.server.netty.*
import java.io.File

fun Application.module() {
    routing {
        get("/download") {
            val file = File("path/to/file")
            call.response.header("Content-Disposition", "attachment; filename=\"${file.name}\"")
            call.respondFile(file)
        }
    }
}

fun main(args: Array<String>) {
    embeddedServer(Netty, port = 8080, module = Application::module).start(wait = true)        
}

위의 코드에서 File("path/to/file") 부분을 다운로드할 파일의 경로로 수정해야 합니다.

파일 다운로드 확인하기

이제 웹 브라우저에서 다음 URL을 열어서 파일 다운로드가 제대로 동작하는지 확인해보세요.

http://localhost:8080/download

다운로드할 파일이 지정된 경로에 존재한다면, 파일이 다운로드될 것입니다.

결론

위의 예제를 통해 코틀린을 사용하여 웹 서버에서 파일 다운로드 기능을 구현하는 방법을 알아보았습니다. Ktor를 사용하면 간단하고 효율적으로 파일 다운로드 기능을 구현할 수 있습니다. 더 자세한 내용은 Ktor 공식 문서를 참조하세요.

참고 자료