laravel 多文件上传
文件上传
前端代码:
<form action="{{route('user.document.uploads')}}" method="post" enctype="multipart/form-data">
@csrf
批量上传
<input type="file" multiple class="form-control" name="files[]" title="批量上传" />
<button type="submit" class="btn btn-dark">提交</button>
</form>
路由:
Route::post('user/up','AccountController@uploads')->name('user.document.uploads');
后端程序:
public function uploads(Request $request)
{
$files = $request->file('files');
if($request->hasFile('files'))
{
foreach ($files as $file) {
$path = $file->store('files');
$file = [
'path' => 'storage/'.$path,
'file_name' => $request->file('file')->getClientOriginalName(),
'extension' => $file->extension(),
'size' => $file->getSize(),
'user_id' => $request->user()->id,
'ip_address' => $request->getClientIp(),
'status' => '0'
];
$file = File::create($file);
}
}
return response('files')->with('status','文件上传成功!');
}
以上代码大概的实现了文件上传, 你可以用foreach里面的代码单独拿出来做成单文件上传,当然这里需要修改前端,如:
<form action="{{route('user.document.uploads')}}" method="post">
@csrf
批量上传
<input type="file" class="form-control" name="file" title="批量上传" />
<button type="submit" class="btn btn-dark">提交</button>
</form>
样视没那么好看,代码为主, 大概意思就是这样的。
本作品采用《CC 协议》,转载必须注明作者和本文链接
有个问题假如一批文件里面有部分文件没有上传成功,但是最后还是抛出文件上传成功,咋整