在foreachblade.php中显示图像

问题描述 投票:0回答:1

所以,我正在尝试显示图像,这是我创建数据的方式

public function create_supplier(Supplier $request)
    {
        $validatedData = $request->validated();

        $extension = $request->file('logoimg')->getClientOriginalExtension();
        $filename = $request->supplier_name . '.' . $extension;
        $request->file('logoimg')->storeAs('/storage/supplier_logo/', $filename);

        $supplier = ModelsSupplier::create([
            'supplier_name' => $request->supplier_name,
            'address' => $request->address,
            'email' => $request->email,
            'phone_number' => $request->phone_number,
            'logoimg' => $request->logoimg
        ]);

        return response()->json(['message' => 'Supplier successfully added', 'supplier' => $supplier]);
    }

现在,我想在blade.php中显示徽标img

<tbody>
                @foreach($suppliers as $supplier)
                <tr>
                    <td>{{$supplier->id}}</td>
                    <td><img src="{{ asset('storage/supplier_logo/' . $supplier->logoimg) }}" alt="test"></td>
                    <td>{{$supplier->supplier_name}}</td>
                    <td>{{$supplier->address}}</td>
                    <td>{{$supplier->email}}</td>
                    <td>{{$supplier->phone_number}}</td>
                </tr>
                @endforeach
            </tbody>

它已成功显示供应商名称、地址等,但显示替代文本为“test”。该文件也已成功添加到我的存储/供应商徽标中。

但是,这是我的 phpmyadmin 中的值, C:\xampp mp\php15CC.tmp

请帮忙,谢谢!

php laravel phpmyadmin laravel-blade crud
1个回答
0
投票

您需要将磁盘上保存的图像网址保存到数据库中,而不是 $request->logoimg 。

storeAs() 返回文件路径

$filepath = $request->file('logoimg')->storeAs('/storage/supplier_logo/', $filename);

$supplier = ModelsSupplier::create([
    'supplier_name' => $request->supplier_name,
    'address' => $request->address,
    'email' => $request->email,
    'phone_number' => $request->phone_number,
    'logoimg' => $filepath
]);

我不测试代码,也许你需要一些调试

© www.soinside.com 2019 - 2024. All rights reserved.