在Laravel中上传后如何获取实际文件?

时间:2019-01-03 14:13:12

标签: php laravel laravel-5 file-upload

这是我通过HomeController @ index派生的视图上传文件的方式:

Looper

这是我的网络路线:

<form action='csvUpload' method='POST'>
    @csrf
    <input type='file' name='dataframe' enctype="multipart/form-data">
    <button type='submit' name='upload'>Predict</button>
</form>

这是我的HomeController @ predict:

Auth::routes(['verify' => true]);

Route::get('/home', 'HomeController@index')->name('home');
Route::post('/csvUpload', 'HomeController@predict')->name('home');

当我上传CSV文件时,哪个返回public function predict(Request $request) { $file = $request->dataframe; var_dump($file); # I want this to be the actual file or # To store it locally and then get that file path } 。如何获得实际文件?我尝试过string(13) "languages.csv",但是返回null。

2 个答案:

答案 0 :(得分:3)

编码类型应在您的表单上,如下所示:

<form action='csvUpload' method='POST' enctype="multipart/form-data">
    ...
</form>

然后在您的控制器中,您可以像这样访问文件:

$request->file('dataframe')

答案 1 :(得分:0)

enctype="multipart/form-data"应该在<form>上 并使用$request->file(name-input)