图像显示为“图像描述”。如何检索数据库中的图像?除了图像之外,所有的工作都很顺利。
这是我的第一个项目。我找不到这个问题。有人能帮忙解决这个问题吗?
这是我的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>这是我的管理员\产品控制器。
<?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');
}
}这是我的用户ProductsController。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Product;
class ProductsController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$products = Product::get();
return view ('index')->with(compact('products'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
// return view('admin.products.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request, Product $product)
{
// $product-> prod_name = $request-> prod_name;
// $product->save();
// return redirect()->route('admin.products.index');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit(Product $product)
{
// $arr['product'] = $product;
// return view('admin.products.edit')->with($arr);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Product $product)
{
// $product-> prod_name = $request-> prod_name;
// $product->update();
// return redirect()->route('admin.products.index');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
// Product::destroy($id);
// return redirect()->route('admin.products.index');
}
}我的图像路径如下所示。

发布于 2020-07-31 12:32:17
如果您已经创建了存储链接,那么请尝试像下面这样获取映像
<img class="img-fluid mb-1 max-width-100-sm" src="{{ url(storage/admin/'.$p ['prod_image_path'] ) }}" alt="Image Description">发布于 2020-07-31 12:45:13
嗨,从你的屏幕截图,看起来你可以成功地将图像存储在存储文件夹中。
你现在的问题是,如果我理解正确的话,你不知道如何打印图像路径
您可以在下面尝试:尝试创建一个符号链接
https://laravel.com/docs/7.x/filesystem#the-public-disk
命令
php artisan storage:link之后,任何内部存储/app/public都将访问公共/存储,以便它可以在外部呈现。
如果图像路径被正确地保存到db,则可以创建如下所示的访问器
public function getProdImagePathAttribute($value)
{
return asset("storage/".$value) ;
}用刀刃渲染
<img src="{{$model->prod_image_path}}" >谢谢,我就是这样保存文件图像并打印出来的。
https://stackoverflow.com/questions/63190534
复制相似问题