У меня есть серверная часть, которую я могу загрузить в него по следующему запросу в Pyhton :
data = {
"prop_post": 35
}
headers = {
# "Content-Type": "application/json",
"Authorization": "JWT " + t1,
}
if img_path is not None:
with open(img_path, 'rb') as image:
file_data = {
'photo': image
}
r = requests.post(POSTS_ENDPOINT, data=data,files=file_data, headers=headers)
это моя среда разработки. Сейчас в производстве я собираюсь использовать Android в качестве клиента для загрузки изображения. Я использую Okhttp3. Вот код, который я использую для загрузки изображения:
final MediaType MEDIA_TYPE_PNG = MediaType.parse("image/jpg");
String file2 = utils.getRealPathFromURI2(obj.getPhotos_uri()[0], context);
File file = new File(file2);
RequestBody req = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("prop-post", Integer.toString(id))
.addFormDataPart("photo", "IMG-20190705-WA0002.jpg",
// RequestBody.create(MEDIA_TYPE_PNG, file.getAbsolutePath())).build();
RequestBody.create(MEDIA_TYPE_PNG, file)).build();
Request request = new Request.Builder()
.url(root + "images/")
.addHeader("Authorization", header)
.post(req)
.build();
OkHttpClient client = new OkHttpClient();
Response response2 = client.newCall(request).execute();
Этот запрос не выполняется с ответом 400 (Плохой запрос). Абсолютное местоположение моего файла в Android: / хранилище / эмуляция / 0 / WhatsApp / Media / WhatsApp Images / IMG-20190705-WA0002.jpg
Я ценю, если кто-нибудь скажет мне, что я делаю неправильно.
Заранее спасибо