Я пытаюсь использовать multipart для публикации данных, используя модернизацию android studio, но у меня возникает проблема, когда я включаю файл изображения в Call<ResponeBody>
, это ничего не радует, но когда я устанавливаю файл изображения на null
, его нормальная загрузка в базу данных сервера
вот мой код ApiInterface
@Multipart
@POST("booking-order")
Call<ResponseBody> bookingOrder(@HeaderMap Map<String, String> stringStringMap,
@PartMap Map<String, RequestBody> stringBody,
@Part MultipartBody.Part filePart
);
getImageFrom
память телефона
private void openFileChooser() {
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, PICK_IMAGE_REQUEST);
}
getImage
uri
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK) {
mImageUri = data.getData();
}
}
процесс
private void initProsesOrder(int ids) {
Map<String, String> map = new HashMap<>();
map.put("APP_TOKEN", UtilsApi.APP_TOKEN);
map.put("USER_TOKEN", prefManager.getTokenUser());
Map<String, RequestBody> bodyMap = new HashMap<>();
bodyMap.put("member_id", createPartFromString(prefManager.getId() + ""));
bodyMap.put("product_jasa_id", createPartFromString(ids + ""));
bodyMap.put("member_address_id", createPartFromString(lokasi_maps));
File file = new File(mImageUri.getPath());
RequestBody propertyImage = RequestBody.create(MediaType.parse("multipart/from-data"), file);
MultipartBody.Part propertyImagePart = MultipartBody.Part.createFormData("booking_image[]",
file.getName(),
propertyImage);
Call<ResponeBody> call = apiInterface.bookingOrder(map,
bodyMap,
propertyImagePart);
)