1

Nach dem Laravel Upgrade 5.5, diesem Code:Laravel 5.5 Datei herunterladen Call to undefined Methode BinaryFileResponse :: withCookie()

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

erzeugt diesen Fehler:

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) 

Jede Idee? Könnte es ein Fehler sein? Es hat mit Laravel 5.4 gut funktioniert.

Antwort

1

Sie sollten überprüfen, was CreateFreshApiToken.php tut. Response::download gibt Symfony\Component\HttpFoundation\BinaryFileResponse zurück und diese Klasse hat keine withCookie Methode. In Laravel 5.4 scheint es genau so zu sein. Wenn es nicht hilft, diesen Klassencode und welche Middleware verwenden Sie in App\Http\Kernel.php Datei.

Es scheint, dass etwas in Laravel Passport in diesem PR http://github.com/laravel/passport/pull/474 gebrochen wurde. Sie können auch bei http://github.com/laravel/passport/issues/489 aussehen und vielleicht diesen Weg von Web-Middleware zu entfernen, wenn es als eine temporäre Lösung möglich ist, und warten Sie für die Herstellung fix in Laravel Passport

+0

CreateFreshApiToken.php kommt von Passport: Anbieter \ Laravel \ Pass \ src \ Http \ Middleware \ CreateFreshApiToken.php. Es gibt diese Zeile, bevor withCookie heißt: if ($ this-> shouldReceiveFreshToken ($ Anfrage, $ Antwort)) –

+0

@PeterMatisko Sind yo mit neuesten Passport-Release (4.0.2)? –

+0

Ja, es ist vollständig aktualisiert. –

Verwandte Themen