마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

서버에 이미지를 보내주려고하려고 합니다.

0 추천

안녕하세요 서버에 이미지를 보내주려 MultiPart를 사용하려고 합니다. 

@Multipart
@POST("profile/picture")
suspend fun postProfile(
    @Header("authorization") token: String,
    @Part("file") file: MultipartBody.Part?,
    ):BaseResponse
이런식으로 서비스를 만들어 주었는데 
@Part parameters using the MultipartBody.Part must not include a part name in the annotation. (parameter #2)
        for method ProfileService.postProfile

이렇게 오류가 떳네요 ㅠㅠ
hifl (670 포인트) 님이 2021년 11월 24일 질문
제가 똑같은 형태로 인터페이스를 만들면 아무런 에러가 없네요.

implementation 'com.squareup.retrofit2:retrofit:2.9.0'

import okhttp3.MultipartBody
import retrofit2.http.Header
import retrofit2.http.Multipart
import retrofit2.http.POST
import retrofit2.http.Part

interface NetworkApi {
    @Multipart
    @POST("user/photo")
    suspend fun postProfile(
        @Header("authorization") token: String,
        @Part("file") file: MultipartBody.Part?,
    ): BaseResponse
}

에러가 없는 걸 확인한 코드입니다.

Clean build, Invalidate cache & Restart도 시도해 보세요.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...