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

最近在用 lumen 做前后分离接口 添加跨域 导致 无法下载excl 只需要修改跨域中间件就好了

 

 

public function handle($request, Closure $next)
{


if($request->isMethod('OPTIONS')) {
$response = response('', 200);
} else {
$response = $next($request);
}


$IlluminateResponse = 'Illuminate\Http\Response';
$SymfonyResopnse = 'Symfony\Component\HttpFoundation\Response';
$headers = [
'Access-Control-Allow-Origin' => '*',
'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, PATCH, DELETE',
'Access-Control-Allow-Headers' => 'Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Authorization , Access-Control-Request-Headers, X-CSRF-TOKEN'
];

if ($response instanceof $IlluminateResponse) {
$response->header('Access-Control-Allow-Methods', 'HEAD, GET, POST, PUT, PATCH, DELETE');
$response->header('Access-Control-Allow-Headers', $request->header('Access-Control-Request-Headers'));
$response->header('Access-Control-Allow-Origin', '*');
return $response;
}

if ($response instanceof $SymfonyResopnse) {

foreach ($headers as $key => $value) {
$response->headers->set($key, $value);
}
return $response;
}

return $response;


}




判断下载excl 修改header头即可
posted @ 2020-01-16 20:01  创行客  阅读(1142)  评论(0编辑  收藏  举报