檔案上傳
前端程式碼:
<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 協議》,轉載必須註明作者和本文連結