안드로이드 retrofit2 에서 spring 서버로 이미지파일을 전송할려고 하는데 도저히 작업을 해도 안돼서 질문 올립니다ㅠㅠ

public static insertPromoteMsg insertPromoteMsgAPI() {
        return (insertPromoteMsg) retrofit(insertPromoteMsg.class);
    }

    public interface insertPromoteMsg {
        @Multipart
        @POST("/insertPromoteMsgApp3.do")
        Call<ResponseCode> insertPromoteMsg(@Part MultipartBody.Part uploadFile);
    }

retrofit2 형식입니다..

private void insertPromote(EditText writingArea, EditText promoteTitle) {
        File file = new File(imgPath);
        RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
        MultipartBody.Part uploadFile = MultipartBody.Part.createFormData("file", file.getName(), requestFile);
        Log.i("test", "insertPromote: "+ file.getName());
        Log.i("test", "insertPromote: "+ requestFile.contentType());
        Log.i("test", "insertPromote: "+ uploadFile.body());
        Call<ResponseCode> call = NetworkService.insertPromoteMsgAPI().insertPromoteMsg(uploadFile);
        call.enqueue(new Callback<ResponseCode>(){
            @Override
            public void onResponse(Call<ResponseCode> call, Response<ResponseCode> response) {
                if(response.isSuccessful()){
                }else{
                }
            }

            @Override
            public void onFailure(Call<ResponseCode> call, Throwable t) {
                Log.i("test", "onFailure: "+t.getMessage());
            }
        });
    }

서버로 전송하는 코드입니다..ㅠㅠ file 이름이 잘 찍히는거 보니 file 객체 자체의 문제는 없는것같습니다..

    @RequestMapping(value = "insertPromoteMsgApp.do", method = RequestMethod.POST)
    @ResponseBody
    public int insertPromoteMsgApp(MultipartFile uploadFile) {
        System.out.println("insertPromoteMsgApp 호출");
        if(uploadFile == null) {
            System.out.println("null");
        }else {
            System.out.println(uploadFile.getContentType());
        }
        return 101;
    }

서버쪽 코드입니다. 보시면 아시겠지만 MultipartFile 객체가 계속 null이 나옵니다..

구글링하면서 진짜 이방법 저방법 다해봤는데 계속 null이 나오네요ㅠㅠ...이틀째 삽질중인데 뭐가 문제인지 알 수 있을까요...

2답변

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.