2017-09-07 11 views
1

Laravel 5.5にアップグレードした後、このコード:Laravel未定義のメソッドBinaryFileResponseに5.5ファイルのダウンロードコール:: withCookie()

$headers = ['Content-Type: ' . $fileData[2]]; 
    return Response::download($fileData[0], $fileData[1] ,$headers); 

は、このエラーを生成します。

Call to undefined method Symfony\Component\HttpFoundation\BinaryFileResponse::withCookie() 

in CreateFreshApiToken.php (line 51) 
at CreateFreshApiToken->handle(object(Request), object(Closure)) 
in Pipeline.php (line 149) 

任意のアイデア?それはバグかもしれない?それはLaravel 5.4とうまくいった。

答えて

1

CreateFreshApiToken.phpの内容を確認してください。 Response::downloadSymfony\Component\HttpFoundation\BinaryFileResponseを返し、このクラスにはwithCookieメソッドがありません。 Laravel 5.4では、まったく同じだったようです。このクラスコードと、どのミドルウェアを含めるのに役立たない場合は、App\Http\Kernel.phpファイルで使用しています。

このPR http://github.com/laravel/passport/pull/474では、Laravel Passportで何かが壊れているようです。またhttp://github.com/laravel/passport/issues/489を見て、多分それは一時的な修正として可能かどうウェブミドルウェアからこのルートを削除し、パスポートから来Laravelパスポート

+0

CreateFreshApiToken.phpに修正を作るのを待つことができます。 ベンダー\ laravel \パスポート\ SRC \のHttp \ミドルウェア\ CreateFreshApiToken.php。 withCookieが呼び出される前にこの行があります: if($ this-> shouldReceiveFreshToken($ request、$ response)) –

+0

@PeterMatisko最新のPassportリリース(4.0.2)を使用していますか? –

+0

はい、完全に更新されています。 –

関連する問題