首页 > 解决方案 > 如何将我的 JSON 图像设置为 url 格式?

问题描述

我想问一下。如何将我的 json 图像设置为 url 格式。

我有这样的代码来存储我的图像:

public function store(Request $request)
    {

        if ($request->hasFile('objek_pict')) {
            $filePic   = $request->file('objek_pict');
            $extension = $filePic->getClientOriginalExtension();
            $fileName  = date('m-d-Y_', time()) . $request->nama_objek;
            // $filePic->move('/uluwatu_image/', $fileName . '.' . $extension, file_get_contents($request->file('objek_pict')->getRealPath()));
            $filePic->move('uluwatu_image/', $fileName . '.' . $extension);
        }

        $new_objek = new ObjekTable();
        $new_objek->nama_objek = $request->nama_objek;
        $new_objek->objek_lat = $request->objek_lat;
        $new_objek->objek_lng = $request->objek_lng;
        $new_objek->objek_pict = 'uluwatu_image/' . $fileName . '.' . $extension;
        $new_objek->objek_deskripsi = $request->objek_deskripsi;
        $new_objek->save();

        return redirect('masterdata')->with('success', 'Data Berhasil Ditambah');
    }

这就是我获取 json 数据公共函数 getDatajson(Request $request) {

    $lokasi = ObjekTable::select('id_objek as id', 'nama_objek as name', 'objek_lat as latitude', 'objek_lng as longitude', 'objek_deskripsi as description', 'objek_pict as image_object')->get();
}

这是我的 json 数据链接:https ://aruluwatu.000webhostapp.com/api/json

这是图片:https ://i.stack.imgur.com/aff6L.jpg

我想让我的 json 图像显示这样的 url 路径: https ://aruluwatu.000webhostapp.com/uluwatu_image/04-15-2020_Rumah.jpg

*uluwatu_image/04-15-2020_Rumah.jpg(我保存的图像)

标签: jsonlaravel

解决方案


您可以通过使用允许您定义自定义属性的Eloquent访问器来做到这一点

在模型ObjekTable中定义附加属性:

protected $appends = ['image_url'];

然后在同一模型上设置 value image_url 属性:

public function getImageUrlAttribute()
{
   return url(Storage::url( $this->objek_pict ));
}

现在您在模型即时获得新属性image_url包含完整的图像 url


推荐阅读