Как разместить строку JSON, содержащую путь к изображению, используя okhttp3 - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть строка 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 должна быть какая-то схожая логика. Мне было интересно, может ли кто-нибудь мне помочь. Спасибо

...