[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 공식 문서를 참조하세요.