Получить изображение с flask и отобразить на android - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть JSON объект со значением:

{
   "ImageBytes": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAGoCAIAAAC/vcqzAAEAAElEQVR4nCz7x66265agaY0xHvua\nz073+..",
   "msg": "Success"
}

И это мой код для преобразования моего изображения в flask:

def get_byte_image(image_path):
    img = PIL.Image.open(image_path, mode='r')
    img_byte_arr = io.BytesIO()
    img.save(img_byte_arr, format='PNG')
    encoded_img = base64.encodebytes(img_byte_arr.getvalue()).decode('ascii')
    return encoded_img

В мои flask Imagebytes тип значения str

И я не знаю, отображать ли байты этого изображения в ImageView в android? Я использую okhttp3, "response-body-string", но это не работает (ошибка), и я использую body-bodyStream, но не показываю в моем изображении. Это мой код:

try {
    String string = response.body().string();
    JSONObject jsnobject = new JSONObject(string);
    String msg = jsnobject.getString("msg");
    Log.d("MSG",msg);
    String imagebytes = jsnobject.getString("ImageBytes");
    Log.d("ImageBytes",imagebytes);
    byte[] decodedString = Base64.decode(imagebytes, Base64.DEFAULT);
    Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
    imgHasil.setImageBitmap(decodedByte);
    Toast.makeText(getApplicationContext(),msg,Toast.LENGTH_LONG).show();
} catch (IOException e) {
    e.printStackTrace();
    Log.d("IO Error:",e.getMessage());
} catch (JSONException e) {
    e.printStackTrace();
    Log.d("JSON Error:",e.getMessage());
}

Надеюсь, кто-нибудь может решить мои проблемы? Спасибо

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