Как отправить изображения и данные «ключа» в «Охтпп»? - PullRequest
0 голосов
/ 03 апреля 2019

В своем приложении кода я написал метод, который отправляет ключ и значение с FormBody.Builder, но мне тоже нужно отправить изображение. Как я могу это сделать?

Я написал это

_formBuilder.add("id_user","1");
_formBuilder.add("name","David");

И затем я отправляю это значение в Constructor из AsyncTask, который получает параметры:

try {
    Request _rbuilder = new Request.Builder()
                        .url(url)
                        .addHeader("Content-Type", "application/json; charset=utf-8")
                        .post(_parameters)
                        .build();
    Response _res= _client.newCall(_rbuilder).execute();
    return _res.body().string();
} catch (Exception ex) {
    Log.i("Error task", ex.toString());
}

1 Ответ

0 голосов
/ 03 апреля 2019

Вы можете использовать multipart/form-data для загрузки на свой сервер.Сначала создайте MultipartBody, используя MultipartBody.Builder

MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder();
multipartBodyBuilder.setType(MultipartBody.FORM);
multipartBodyBuilder.addFormDataPart("key", "value");
MediaType mediaType = MediaType.parse("image/png"); // or "image/jpeg" or any mime type you want
multipartBodyBuilder.addFormDataPart(
        "fileKey",
        "fileName",
        RequestBody.create(mediaType, yourFile)
);

Затем используйте его как данные для публикации в вашем запросе

Request _rbuilder = new Request.Builder()
    .url(url)
    .addHeader("Content-Type",
            "application/json; charset=utf-8"
    )
    .post(multipartBodyBuilder.build())
    .build();
...