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

안드로이드 스튜디오 레트로핏 MultipartBody.Part랑 Field 어떻게 같이 쓰나요?

0 추천

php에서 파일을 전달 받고 그와함께 post로 문자를 동시에 받으려고 합니다.
그런데 MultipartBody를 혼자 사용하면 문제없이 사용이 가능한데 Field를 동시에 사용하려고 하면 오류가 뜹니다.
이거 둘을 동시에 사용하려면 어떻게 해야하나요?

userapi.interface

@FormUrlEncoded
@Multipart
@POST("upload_img.php")
Call<ResultModel> upload_img(@Field("userid") String userid,
                             @Field("uploadtime") String uploadtime,
                             @Part MultipartBody.Part File);

 

main.java

 

File file = new File(img_url);
System.out.println("10");
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
System.out.println("11");
MultipartBody.Part body = MultipartBody.Part.createFormData("userfile", file.getName(), requestFile);
System.out.println("12");
Call<ResultModel> resultCall = userApi.upload_img(((MainActivity) MainActivity.context_main).UserID,formateDate,body);
System.out.println("10");
resultCall.enqueue(new Callback<ResultModel>() {
    @Override
    public void onResponse(Call<ResultModel> call, Response<ResultModel> response) {
        startActivity(new Intent(BoardWord.this, Home.class));


    }

    @Override
    public void onFailure(Call<ResultModel> call, Throwable t) {

    }
});

여기서 12번까지는 되는데 13번으로 넘어가지 않습니다.

그래서 MultipartBody와 field는 같이 사용하지 못하는것인가요?

도와주세요.

young210 (320 포인트) 님이 2020년 9월 3일 질문

2개의 답변

0 추천

일단 이걸 빼셔야합니다

 

@FormUrlEncoded
쭈쭈총각 (17,750 포인트) 님이 2020년 9월 11일 답변
0 추천
SLink (180 포인트) 님이 2020년 9월 29일 답변
...