Laravel 5.5文件下载调用未定义的方法BinaryFileResponse :: withCookie()

时间:2017-09-07 19:19:38

标签: laravel laravel-5 laravel-5.4 laravel-5.5 laravel-response

升级到Laravel 5.5后,此代码:

    $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)

有什么想法吗?可能是个bug吗?它与Laravel 5.4配合得很好。

1 个答案:

答案 0 :(得分:1)

您应该验证CreateFreshApiToken.php的作用。 Response::download正在返回Symfony\Component\HttpFoundation\BinaryFileResponse,此课程没有withCookie方法。在Laravel 5.4中,似乎完全相同。如果它不能帮助包含此类代码以及您在App\Http\Kernel.php文件中使用的中间件。

在这个PR http://github.com/laravel/passport/pull/474中,Laravel护照似乎已经被打破了。您还可以查看http://github.com/laravel/passport/issues/489,如果可以将其作为临时修复程序并等待在Laravel Passport中进行修复,则可以从Web中间件中删除此路由