[kotlin] 코틀린 안드로이드에서의 파일 업로드 처리

안녕하세요! 안드로이드 앱에서 파일을 업로드하는 방법에 대해 알아보겠습니다. 코틀린 언어를 사용하여 안드로이드에서 파일 업로드를 처리하는 방법을 살펴볼 것입니다.

필요한 라이브러리 추가

우선 파일 업로드를 위해 안드로이드 프로젝트에 다음과 같은 라이브러리를 추가해야 합니다:

implementation("com.squareup.okhttp3:okhttp:4.9.1")
implementation("com.google.code.gson:gson:2.8.7")

파일 업로드 코드

이제 파일을 서버로 업로드하는 Kotlin 함수를 작성해 보겠습니다:

fun uploadFile(file: File, serverUrl: String) {
    val client = OkHttpClient()
    
    val requestBody = MultipartBody.Builder()
        .setType(MultipartBody.FORM)
        .addFormDataPart("file", file.name, RequestBody.create(MediaType.parse("multipart/form-data"), file))
        .build()

    val request = Request.Builder()
        .url(serverUrl)
        .post(requestBody)
        .build()

    client.newCall(request).enqueue(object : Callback {
        override fun onFailure(call: Call, e: IOException) {
            // 업로드 실패 처리
        }

        override fun onResponse(call: Call, response: Response) {
            if (response.isSuccessful) {
                // 업로드 성공 처리
            } else {
                // 업로드 실패 처리
            }
        }
    })
}

위의 코드에서 file은 업로드할 파일의 File 객체이고, serverUrl은 파일을 업로드할 서버의 주소입니다.

파일 업로드 호출

이제 파일 업로드 함수를 호출하여 파일을 업로드해 보겠습니다:

val file = File("/path/to/file.png")
val serverUrl = "http://example.com/upload"
uploadFile(file, serverUrl)

위의 코드에서 /path/to/file.png은 업로드할 파일의 경로를, http://example.com/upload는 파일을 업로드할 서버의 주소를 나타냅니다.

이제 코틀린을 사용하여 안드로이드에서 파일 업로드를 처리하는 방법을 알아보았습니다. 감사합니다!

참고 자료


Keywords: 안드로이드, 코틀린, 파일 업로드, OkHttp, Gson