首页 > 解决方案 > 改造响应体在 android 应用程序中无法正确解析

问题描述

我在 Android 的邮递员中收到此响应,我的 response.body() 不为空,但图像视图中仍然没有显示图像。

if (response.isSuccessful()) {
    if (response.body()!=null) { 
        Glide.with(getApplicationContext()).load(response.body()).into(iv_userimage_header);
        Toast.makeText(SubtitutesDashboard.this, "Image Set", Toast.LENGTH_SHORT).show();
    }
} 

这是邮递员的回复

标签: androidimageviewpostmanretrofit2

解决方案


试试这个,确保你使用okhttp3.ResponseBody. 所以像

...
call.enqueue(new Callback<ResponseBody>() {
        @Override
        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) { 
...

然后将您的图像作为位图使用

Bitmap bitmap = BitmapFactory.decodeStream(response.body().byteStream());

你可以直接给你设置这个位图ImageView

iv_userimage_header.setImageBitmap(bitmap);

或者使用 Glide.asBitmap

有关更多信息,请参阅此 SO 帖子


推荐阅读