Отправьте данные Base 64: image / jpeg; base64 с помощью метода PUT Volley - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь отправить строку в кодировке base64 в растровое изображение на Android.Закодированная строка будет начинаться с «data: image / jpeg; base64,»

Я использую следующий метод:

public String getStringImagen(Bitmap bmp){

 String encodedDataString = "data:image/jpeg;base64,";
 ByteArrayOutputStream baos = new ByteArrayOutputStream();
 bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
 byte[] imageBytes = baos.toByteArray();
 String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
 return encodedDataString + encodedImage;
 }

Я вызываю и назначаю таким образом на метод

    String photo = getStringImagen(bitmap);

Через JSONObject я отправляю сгенерированную строку

            jsonObject.put("FOTO",photo);

Авторизация заголовка отправляется

  @Override
        public Map<String, String> getHeaders()
        {
            Map<String, String> headers = new HashMap<String, String>();
            headers.put("Content-Type", "application/json; charset=utf-8");
            headers.put("Authorization", "Bearer  " + token);
            return headers;
        }

Строка, которая отправляется на сервер, генерируется в этомway.

data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD....

Когда все правильные данные сгенерированы, они отправляются на сервер, но ответом является поле фотографии, поскольку null не сохраняет цепочку, отправляемую для сохранения.Надеюсь, вы поможете мне решить эту небольшую проблему.С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...