【发布时间】:2020-10-14 02:18:44
【问题描述】:
有人可以帮我在 laravel Blade 中显示图像吗?
这是上传后的完整图片网址
http://webshop.local/uploads/products/1592949903recommend.png
应该上传到
public/uploads/products
文件夹。
这是我创建产品(ProductsController)的部分代码:
public function store(Request $request)
{
$this->validate($request, [
'title' => 'required',
'price' => 'required',
'description' => 'required',
'productImage' => 'required|image'
]);
$productImage = $request->productImage;
$productImage_new_name = time() . $productImage->getClientOriginalName();
$productImage->move('uploads/products' . $productImage_new_name);
Product::create([
'title' => $request->title,
'productImage' => '/uploads/products/' . $productImage_new_name,
'price' => $request->price,
'description' => $request->description
]);
return redirect()->route('products.index');
}
这里还有刀片展示:
<th><img src="{{ $product->productImage }}" alt="{{ $product->title }} image"></th>
这让我得到了正确的链接,因为:
public function getProductImageAttribute($productImage){
return asset($productImage);
}
在产品模型中。
编辑
当我上传新图像时,它不会进入文件夹,而只是使用图像名称创建新文件夹,其中包含名称为phpSOMETHING_RANDOM_HERE.tmp的文件
【问题讨论】:
-
@JonathanAkweteyOkine 它和我的模型做同样的事情。 :)
-
@Saed Silajdzic 抱歉,我看错了产品型号。
-
您是否检查了图像是否在文件夹 /uploads/products/ 中?
-
你的问题是什么?
-
$productImage->move(public_path('uploads/products' . $productImage_new_name));