所以,我正在尝试显示图像,这是我创建数据的方式
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
请帮忙,谢谢!
您需要将磁盘上保存的图像网址保存到数据库中,而不是 $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
]);
我不测试代码,也许你需要一些调试