javascript - 如何使用 laravel 插入和上传多个文件?
问题描述
<h4 class="card-title">Add Product</h4>
<form class="forms-sample" action="{{route('AddNewProduct')}}" method="post" enctype="multipart/form-data">
{{csrf_field()}}
<div id="dynamicTable">
<div class="row">
<div class="col-md-4">
<div class="form">
<label class="bmd-label-floating">Product Image</label>
<input type="file" name="product_image[]" class="form-control">
</div>
</div>
<div class="col-md-2">
<div class="form">
<button type="button" name="add" id="add" class="btn btn-success"><i class="fa fa-plus"></i></button>
</div>
</div>
</div>
</div>
<button type="submit" class="btn btn-primary pull-center">Submit</button>
</form>
<script type="text/javascript">
var i = 0;
$("#add").click(function(){
++i;
$("#dynamicTable").append('<div class="row"><div class="col-md-4"><div class="form"><input type="file" name="product_image[]" class="form-control"></div></div><div class="col-md-2"><div class="form"><button type="button" class="btn btn-danger remove-tr"><i class="fa fa-minus"></i></button></div></div></div>');
});
$(document).on('click', '.remove-tr', function(){
$(this).closest(".row").remove();
});
</script>
功能:
public function AddNewProduct(Request $request)
{
$date=date('d-m-Y');
$this->validate(
$request, [
'product_image' => 'required',
'product_image.*' => 'mimes:jpeg,png,jpg',
]
);
if($request->hasfile('product_image'))
{
foreach($request->file('product_image') as $file)
{
$fileName = $file->getClientOriginalName();
$fileName = str_replace(" ", "-", $fileName);
$file->move('images/product/'.$date.'/', $fileName);
$product_image[] = 'images/product/'.$date.'/'.$fileName;
}
}
echo "<pre>";
print_r($product_image);
}
在上面的代码中,我通过单击添加按钮动态添加多个文件,现在完美工作当我单击提交按钮并且我试图打印多个图像然后只有一个文件显示我现在不为什么?那么,如何使用 laravel 上传多个文件并插入数据库?请帮我。
谢谢你
解决方案
您可以使用以下代码:
public function AddNewProduct(Request $request)
{
$date=date('d-m-Y');
$this->validate(
$request, [
'product_image' => 'required',
'product_image.*' => 'mimes:jpeg,png,jpg',
]
);
$temImageArray = [];
$product_image = [];
if($request->hasfile('product_image'))
{
foreach($request->file('product_image') as $file)
{
$fileName = $file->getClientOriginalName();
$fileName = str_replace(" ", "-", $fileName);
$file->move('images/product/'.$date.'/', $fileName);
$product_image[] = 'images/product/'.$date.'/'.$fileName;
array_push( $temImageArray , $product_image);
}
}
echo "<pre>";
print_r($temImageArray);
}
推荐阅读
- c - 如何使用netlink进行IPC?
- json - Flutter 使用 Json 响应填充下拉列表,使用 dio 插件进行服务器调用
- python - 如何使用两个不同的模型附加用户模型,以便可以通过 current_user 访问这些模型的属性
- python - AttributeError:“unicode”对象没有属性“readlines”
- angular - 角度错误:依赖数组必须有参数
- java - 用java远程连接oracle数据库
- android - RecyclerView 中具有最大宽度的简单约束布局子项
- python - 使用移位函数比较行值
- c# - 显示在数组中找到特定数字的次数
- ssl - 是否可以通过 mqtt 通信只进行一次 3way 握手?