2017-08-07 18 views
0

laravelでファイルをアップロードします。Laravelでファイルをアップロード中にエラーが発生しました:nullのメンバ関数を呼び出す

私は、コントローラにこのコードを使用しています

function store1(Request $request){ 
    $file=$request->file('myfile'); 
    $folder=$request->file('folder'); 
    $link=$request->input('link'); 

    $filename1 = $file->getClientOriginalName(); 
    $filename2 = $folder->getClientOriginalName(); 

    //$projectname 
    $path="files/"; 
    $file->move($path,$filename1); 
    $folder->move($path,$filename2); 

    DB::table('groups')->update(['last_report'=>$filename1,'DropBox'=>$filename2]); 

    return view('successfulUpload'); 
} 

私は複数のファイルをアップロードするユーザーを有効にしたいが、それがnullのメンバ関数getClientOriginalName()へのコールを示しています。

+0

試みはのvar_dump($ファイル、$フォルダ)と私たちは – Sletheren

+0

には、ファイルが存在し、アップロードされていないようだが何であるかを知っているようにします。あなたのフォームに 'enctype =" multipart/form-data "'を追加しましたか? –

+0

私は既に複数のuplaodsのためにmyform – Cassy

答えて

0

Laravelで複数のアップロードを試してみてください。

HTMLフォーム:お使いのコントローラで

<form method="post" action="controller/function" enctype="multipart/form-data"> 
    <input type="file" name="files[]" multiple /> 
    <input type="submit" /> 
</form> 

 // get posted input file 
     $files = Input::file('files'); 
     $errors = ""; 
     $file_data = array(); 

     foreach($files as $file) 
     { 

      if(Input::hasFile('files')) 
      { 
       // validating each file. 
       $rules = array('file' => 'required'); //'required|mimes:png,gif,jpeg,txt,pdf,doc' 
       $validator = Validator::make(

        [ 
         'file' => $file, 
         'extension' => Str::lower($file->getClientOriginalExtension()), 
        ], 
        [ 
         'file' => 'required|max:100000', 
         'extension' => 'required|in:jpg,jpeg,bmp,png,doc,docx,zip,rar,pdf,rtf,xlsx,xls,txt' 
        ] 
       ); 

       if($validator->passes()) 
       { 

       // path is root/uploads 
       $destinationPath = 'path/to/upload'; 
       $filename = $file->getClientOriginalName(); 

       $upload_success = $file->move($destinationPath, $filename); 

       if($upload_success) 
       { 

        //do after success .... 

       } 
       else 
       { 
        $errors .= json('error', 400); 
       } 


       } 
       else 
       { 
       // redirect back with errors. 
       return Redirect::back()->withErrors($validator); 
       } 
      } 

     } 
関連する問題