最近在用 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头即可
Call to undefined method Symfony\Component\HttpFoundation\BinaryFileResponse::header()
原文:https://www.cnblogs.com/niu6/p/12203015.html