【发布时间】:2019-09-01 16:07:09
【问题描述】:
我在 laravel 5.7 中上传多个文件文件已上传到数据库中,但我可以在管理面板上查看以及如何编辑这些文件。如何在管理面板上显示这些图像以及如何编辑这些文件。下面是我的代码:
这是我上传文件的控制器
public function addProduct(Request $request)
{
if($request->isMethod('get'))
{
return view('admin.product.add-product');
}
if($request->isMethod('post'))
{
$this->validate($request,[
'product_name' => 'required|max:40',
'price' => 'required',
'product_type' => 'required',
'quantity' => 'required',
'description' => 'required',
'image' => 'required',
'image.*' => 'image|mimes:jpeg,png,jpg,gif,svg'
]);
$product = new Product();
$product->product_name = $request->product_name;
$product->price = $request->price;
$product->product_type = $request->product_type;
$product->quantity = $request->quantity;
$product->description = $request->description;
//image upoad code
//return $request->all();
if($request->hasfile('image'))
{
// return $request->image;
foreach($request->file('image') as $images)
{
//var_dump($images);
$name=$images->getClientOriginalName();
$images->move(public_path().'/images/', $name);
$data[] = $name;
}
}
$product->image=json_encode($data);
$product->save();
return redirect('admin/product-management');
}
}
在管理面板上查看文件的代码是:
@foreach ($product as $products)
@php $images = json_decode($product->image,true);
@endphp
@if(is_array($images) && !empty($images))
@foreach ($images as $image)
<img src="{{ url('public/images/'.$images) }}"/>
@endforeach
@endif
@endforeach
我将文件上传到 public/images 文件夹。如何在管理面板上编辑和显示图像。
在数据库中图像存储为 ["download.jpeg","download.png","下载(2).jpeg"]
【问题讨论】:
-
你所说的“编辑”图像是什么意思?您还应该包括运行管理视图时发生的情况。顺便说一句,不应该是
@foreach ($products as $product)吗? (我已经翻转了变量) -
图像肯定保存正确,因为她在
if语句之后使用了json_encode -
是的图片已上传
-
也从这一行 从 $images 更改为 $image 。我这样做没有任何改变
-
是的,谢谢您的帮助
标签: php jquery mysql ajax laravel