上传Excel文件Laravel

我试图用Laravel中的表单上传excel文件,但是我遇到了这个问题: 调用一个非对象的成员函数store()

这是我的代码:

{!! Form::open(['route' => 'choixcol']) !!} <div class="col-md-4"> {!! Form::file('data', '', ['id' => 'file', 'class' => 'form-control']) !!} </div> <div class="col-md-8"> {!! Form::submit("Utiliser ce fichier", array('class' => 'btn btn-info')) !!} </div> {!! Form::close() !!} 

而我的function在我的控制器:

 public function upload(Request $request) { $path = $request->file('data')->store('data'); return view('mesures.index'); } 

请问如何解决?

编辑:

在我的请求中,我有:

 Request {#37 ▼ #json: null #sessionStore: null #userResolver: Closure {#231 ▶} #routeResolver: Closure {#248 ▶} +attributes: ParameterBag {#39 ▶} +request: ParameterBag {#38 ▼ #parameters: array:2 [▼ "_token" => "6IPVFkzu8o2jH244y0BwJEqKDqfWrt5pKwMS7Pls" "data" => "99081D_Pesee2016.xlsx" ] } +query: ParameterBag {#45 ▶} +server: ServerBag {#42 ▶} +files: FileBag {#41 ▶} +cookies: ParameterBag {#40 ▶} +headers: HeaderBag {#43 ▶} #content: null #languages: null #charsets: null #encodings: null #acceptableContentTypes: null #pathInfo: "/mesures/choix" #requestUri: "/mesures/choix" #baseUrl: "" #basePath: null #method: "POST" #format: null #session: Store {#205 ▶} #locale: null #defaultLocale: "en" } 

我想我只是得到文件的名称,而不是直接的文件…

错误是说file('data')在这种情况下不是一个对象。

我会logging$request数组像Log::debug($request); 并看看你有什么访问。

https://laravel.com/docs/5.3/requests#storing-uploaded-files

我find了解决scheme ,这非常简单:我忘了将'files'=> true设置为我的表单!