我正在尝试上传数据库中的文件,但它们没有保存到数据库中,或者页面没有显示任何错误。
控制器
public function store(Request $request)
{
request()->validate([
'file' => 'required',
]);
$upload = $request->file('file');
$path = $upload->store('public/storage');
$file = File::create([
'filename' => $file->getClientOrignalName(),
'path' => $path
]);
return redirect('/file')->with('success', 'File Uploaded Successfully');
}
路线
Route::get('/file','FileController@index')->name('viewfile');
Route::get('/file/upload','FileController@create')->name('formfile');
Route::post('/file/upload','FileController@store')->name('uploadfile');
刀片文件:
<form method="post" action="{{ route('uploadfile') }}" enctype="multipart/form-data">
@csrf
<div class="form-group">
<input type="file" name="filename" multiple="multiple">
</div>
<button type="submit" class="btn btn-primary">Upload</button>
<a href="{{ route('viewfile') }}" class="btn btn-success">Back</a>
</form>
模型
protected $fillable = [
'filename', 'path'
];
有解决方案吗?
答案 0 :(得分:1)
如果要上传多个文件,则输入名称应为数组。
<input type="file" name="filename[]" multiple="multiple">
您正在使用错误的名称访问文件,因此您的上传应该是
$upload = $request->file('filename');
您的文件名将是
'filename' => $request->filename->getClientOriginalName()