Не удается загрузить файл в Retrofit2.0? - PullRequest
1 голос
/ 08 апреля 2019

am Используя Retrofit2.0 не удалось загрузить файл из Java.Он выдает ответ в виде кода как 415 .

RetofitCode

File uploadFile1 = new File("/home/art-pc-mob-001/MISSTorewise.png");

Retrofit retrofit = new Retrofit.Builder().baseUrl(endPointURL + "v1/")
            .addConverterFactory(GsonConverterFactory.create()).build();
Links links = retrofit.create(Links.class);

RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), uploadFile1);

MultipartBody.Part body = MultipartBody.Part.createFormData("FileName", uploadFile1.getName(), requestFile);

Call<JsonObject> callBack = links.uploadMedia(accessToken, body);
    callBack.enqueue(new Callback<JsonObject>() {

    @Override
    public void onResponse(Call<JsonObject> arg0, Response<JsonObject> arg1) {
        // TODO Auto-generated method stub

        System.out.println(arg1.code());
        System.out.println(new Gson().toJson(arg1.body()));

    }

    @Override
    public void onFailure(Call<JsonObject> arg0, Throwable arg1) {
        // TODO Auto-generated method stub

    }
});

Код интерфейса

public interface Links {

@Multipart
@POST("media")
Call<JsonObject> uploadMedia(@Header("accessToken") String acessToken, @Part MultipartBody.Part file);
}

В Почтальоне Работает нормально

Описание API в JSON

"request": {
                    "method": "POST",
                    "header": [
                        {
                            "key": "accessToken",
                            "value": "{{access-token}}"
                        }
                    ],
                    "body": {
                        "mode": "formdata",
                        "formdata": [
                            {
                                "key": "FileName",
                                "type": "file",
                                "src": ""
                            }
                        ]
                    },
                    "url": {
                        "raw": "{{endpoint-url}}/v1/media",
                        "host": [
                            "{{endpoint-url}}"
                        ],
                        "path": [
                            "v1",
                            "media"
                        ]
                    },
                    "description": "upload media"
                }

Помогите мне решить эту проблему.

...