图像显示为“图像描述”。如何检索数据库中的图像?除了图像之外,所有的工作都很顺利。
这是我的第一个项目。我找不到这个问题。有人能帮忙解决这个问题吗?
这是我的index.blade.php
<ul class="list-group list-group-horizontal-sm position-relative z-index-2 flex-row overflow-auto overflow-md-visble">
@foreach($products as $p)
<li class="list-group-item py-2 px-3 px-xl-4 px-wd-5 flex-horizontal-center shadow-on-hover-1 rounded-0 border-top-0 border-bottom-0 flex-shrink-0 flex-md-shrink-1">
<a href="../shop/product-categories-7-column-full-width.html" class="d-block py-2 text-center">
<img class="img-fluid mb-1 max-width-100-sm" src="/storage/admin/{{ $p ['prod_image_path'] }}" alt="Image Description">
<h6 class="font-size-14 mb-0 atext font-weight-semi-bold">{{ $p ['prod_name'] }}</h6>
<h6 class="font-size-14 mb-0 atext font-weight-semi-bold">{{ $p ['prod_price'] }}</h6>
</a>
</li>
<li class="list-group-item py-2 px-3 px-xl-4 px-wd-5 flex-horizontal-center shadow-on-hover-1 rounded-0 border-top-0 border-bottom-0 flex-shrink-0 flex-md-shrink-1">
<a href="../shop/product-categories-7-column-full-width.html" class="d-block py-2 text-center">
<img class="img-fluid mb-1 max-width-100-sm" src="/storage/admin/{{ $p ['prod_image_path'] }}" alt="Image Description">
<h6 class="font-size-14 mb-0 atext font-weight-semi-bold">{{ $p ['prod_name'] }}</h6>
<h6 class="font-size-14 mb-0 atext font-weight-semi-bold">{{ $p ['prod_price'] }}</h6>
</a>
</li>
@endforeach
</ul>这是我的ProductsController。
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Product;
use App\Category;
class ProductsController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
$arr['products'] = Product::all();
return view('admin.products.index')->with($arr);
}
public function create()
{
return view('admin.products.create');
}
public function store(Request $request, Product $product, Category $category)
{
if($request->prod_image_path->getClientOriginalName())
{
$ext =$request->prod_image_path->getClientOriginalName();
$file = date('YmdHis').rand(1,99999).'.'.$ext;
$request->prod_image_path->storeAs('public/admin',$file);
}else{
$file ='';
}
$product-> prod_name = $request-> prod_name;
$product-> prod_meta_title = $request-> prod_meta_title;
$product-> prod_description = $request-> prod_description;
$product-> prod_category = $request-> prod_category;
$product-> prod_price = $request-> prod_price;
$product-> prod_discount = $request-> prod_discount;
$product-> prod_image_path = $file;
$product->save();
return redirect()->route('admin.products.index');
}
public function show($id)
{
$product = Product::find($id);
return view ('user.show',['product'=>$product]);
}
public function edit(Product $product)
{
$arr['product'] = $product;
return view('admin.products.edit')->with($arr);
}
public function update(Request $request, Product $product)
{
if($request->prod_image_path->getClientOriginalName())
{
$ext =$request->prod_image_path->getClientOriginalName();
$file = date('YmdHis').rand(1,99999).'.'.$ext;
$request->prod_image_path->storeAs('public/admin',$file);
}else{
$file ='';
}
$product-> prod_name = $request-> prod_name;
$product-> prod_meta_title = $request-> prod_meta_title;
$product-> prod_description = $request-> prod_description;
$product-> prod_category = $request-> prod_category;
$product-> prod_price = $request-> prod_price;
$product-> prod_discount = $request-> prod_discount;
$product-> prod_image_path = $file;
$product->save();
return redirect()->route('admin.products.index');
}
public function destroy($id)
{
Product:: destroy($id);
return redirect()->route('admin.products.index');
}
}我的图像路径如下所示。

发布于 2020-07-30 07:33:00
最好的方法是使用Model类上的setter方法获得图像,该类返回完整路径或空(如果没有图像)
Product.php
<?php
use Storage;
class Product extends Model
{
// .. other information.
public function getProdImagePathAttribute(){
return $this->attributes['prod_image_path'] ? Storage::url('admin/'.$this->attributes['prod_image_path']) : null;
}
}products.blade.php
@if($p['prod_image_path'])
<img class="img-fluid mb-1 max-width-100-sm" src="{{URL::asset($p['prod_image_path'])}}"" alt="Image Description">
@else
<img src="{{URL::asset('admin/default-product.jpg')}}" alt="default-pic">
@endif https://stackoverflow.com/questions/63167805
复制相似问题