У меня есть строка JSON, например:
{
"id": 1,
"pk": 1,
"title": "T1",
"description": "D1",
"photo": "http://127.0.0.1:8888/media/myposts/2019/2/6/a9811ca2-cdd7-400b-805a-efe4be22b3f5.png",
"price": 2000.0,
"catagory": "S",
"viewnum": 15,
"timestamp": "2019-02-06T19:43:26.754464Z"
}
, которую нужно отправить на сервер.Если у меня не было поля «фото», то сработало бы что-то вроде следующего:
RequestBody body = RequestBody.create(JSON, new Gson().toJson(obj));
post_request = new Request.Builder()
.url(url_str)
.post(body)
.addHeader("Authorization", "")
.build();
, однако я не совсем уверен, как это можно сделать, когда у нас есть поле «фото».Я использую okhttp3,
Я бы сделал что-то похожее в python:
requests.request("Post", Base_URL + ENDPOINT_REST, data=data, files=file_data, headers=headers)
, где данные - это строка JSON без поля "photo" и поле "photo" будет передано в file_data:
with open(image_path, 'rb') as image:
file_data = {
'image': image
}
Полагаю, на Java должна быть какая-то схожая логика. Мне было интересно, может ли кто-нибудь мне помочь. Спасибо