2017-10-23 231 views
0

私はpdfドキュメントファイルをアップロードしようとするとこのエラーが発生しますが、誰かがこれをどのように解決するか考えていますか?null関数のgetClientOriginalName()を呼び出すlaravel

私は同様の問題を探してみましたが、まだそれを解決することはできません(例:Upload pdf file using Laravel 5

私は、ファイルがアップロードされているかどうかを確認するために dd()をやってみました

、それはファイル名を表示しましたが、エラーが言いましたCall to a member function getClientOriginalName() on null、今私は今何をすべきかについて混乱しています。

これは私のコードです。事前にお手伝いいただきありがとうございます。

コントローラー:

class CreateController extends Controller 
{ 
    public function create(){ 

    return view('create'); 
} 
public function store(Request $request){ 

    $uniqueFileName = uniqid() . $request->get('upload_file')->getClientOriginalName() . '.' . $request->get('upload_file')->getClientOriginalExtension(); 

    $request->get('upload_file')->move(public_path('files') . $uniqueFileName); 
//dd($request); 
    return redirect()->back()->with('success', 'File uploaded successfully.'); 
} 

create.blade.php

<form enctype="multipart/form-data" class="form-horizontal" method="post" action="{{ url('/user')}}"> 

      {{ csrf_field() }} 
      <div class="form-group"> 
    <label for="upload_file" class="control-label col-sm-3">Upload File</label> 
    <div class="col-sm-9"> 
      <input class="form-control" type="file" name="upload_file" id="upload_file"> 
    </div> 
</div> 


<div class="form-group"> 
      <div class="col-md-6-offset-2"> 
       <input type="submit" class="btn btn-primary" value="Save"> 
      </div> 
      </div> 
</form> 

ルート:

Route::get('/user/create','[email protected]'); 
Route::post('/user','[email protected]'); 
+2

'$ request-> file( 'upload_file')' – madalinivascu

答えて

2

あなたがアップロードしたファイルへのアクセス権を持っているfile()機能を使用する必要があります

$request->file('upload_file')

+0

'var_dump($ request-> file( 'upload_file'))'を実行して、ここに情報を貼り付けてください。 – madalinivascu

+0

本当にうまくいきました。たくさん、私はすべてのget()をfile()に変更する必要があります – blastme

+0

@blastmeはい、より多くの情報をご覧ください:https://laravel.com/docs/5.5/requests#retrieving-uploaded-files – madalinivascu

1

ファイルをvarに入れてみてください。

$file = $request->file('upload_file'); 

そして、そこから拡張子と名前を取得します。

$uniqueFileName = uniqid() . $file->getClientOriginalName() . '.' . $file->getClientOriginalExtension(); 

希望します。

関連する問題