文件未保存到fb laravel-5.8中

时间:2019-06-24 10:10:35

标签: laravel eloquent laravel-5.8

我正在尝试上传数据库中的文件,但它们没有保存到数据库中,或者页面没有显示任何错误。

控制器

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'
];

有解决方案吗?

1 个答案:

答案 0 :(得分:1)

如果要上传多个文件,则输入名称应为数组。

<input type="file" name="filename[]" multiple="multiple">

您正在使用错误的名称访问文件,因此您的上传应该是

$upload = $request->file('filename');

您的文件名将是

'filename' => $request->filename->getClientOriginalName()