Android studio 显示来自 Laravel API 的图像

Android studio Display image from Laravel API

我正在使用 Retrofit API 访问我的 Laravel 站点数据。我无法在我的 android 应用程序中显示图像。

这是我的 Laravel 代码,用于在我的 Laravel 站点中保存图像。

 $path = 'images/no-thumbnail.jpeg';

    if($request->has('thumbnail')){
        $extension = ".".$request->thumbnail->getClientOriginalExtension();
        $name = basename($request->thumbnail->getClientOriginalName(), $extension).time();
        $name = $name.$extension;
        $path = $request->thumbnail->storeAs('images', $name, 'public');
    }

这是产品标签的 API 响应。

[{"id":1,"user_id":"1","title":"White T shirt","description":"White T shirt small size","categorie":"1","price":"50","discount_price":"0","thumbnail":"images\/81vzc0ciKwL._AC_UX679_1619280040.jpg","slug":"white-t-shirt","options":null,"featured":"0","status":"0","created_at":"2021-04-24T16:00:40.000000Z","updated_at":"2021-04-24T16:00:40.000000Z","deleted_at":null}]

图像的响应是这个“缩略图”:“images/81vzc0ciKwL._AC_UX679_1619280040.jpg”

对于我的 android 应用,我使用的是 Picasso,这里是代码。

Picasso.get().load(shopesModel.getThumbnail()).into(holder.shopImg);

但是,我的 android 应用程序中仍然没有获取图像。我正在获取产品的其他字段 table.

这是应用程序的屏幕截图

我应该在哪里更改我的代码。 Laraval 或更改我的应用程序代码,以便我可以从 Laravel.

获取图像

由于您的 json 回复在缩略图中不合格 url

"thumbnail":"images\/81vzc0ciKwL._AC_UX679_1619280040.jpg" 

有两种方法可以修复 1.best 解决方案是从服务器端发送完整的 url 图片路径 2.hardcoding 在你的 android 基础上 url 并追加到 Picasso

"thumbnail":"https://urdomain/storage/images/81vzc0ciKwL._AC_UX679_1619280040.jpg" 

String baseUrl="https://urdomain/storage/";

Picasso.get().load(baseUrl+shopesModel.getThumbnail()).into(holder.shopImg);