FIX_CORS_ERRO

This commit is contained in:
VENKATESHWARAN 2026-08-06 11:40:32 +05:30
parent c1a5418ff2
commit 2ac40373b1

View File

@ -986,13 +986,20 @@ class EmployeeRestController extends AdminController
$policyName = $empData[0]['policy_name'] ?? 'Employee'; $policyName = $empData[0]['policy_name'] ?? 'Employee';
$filename = preg_replace('/[^A-Za-z0-9_\-]/', '_', $policyName) . '-Employee-List.xlsx'; $filename = preg_replace('/[^A-Za-z0-9_\-]/', '_', $policyName) . '-Employee-List.xlsx';
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); // Write to memory and return via CI Response so CORS after() filters still run.
header('Content-Disposition: attachment;filename="' . $filename . '"'); // Raw header() + exit skips filters and causes CORS errors for cross-origin fetch.
header('Cache-Control: max-age=0'); $tempFile = tempnam(sys_get_temp_dir(), 'emp_list_');
$writer = new Xlsx($spreadsheet); $writer = new Xlsx($spreadsheet);
$writer->save('php://output'); $writer->save($tempFile);
exit; $excelData = file_get_contents($tempFile);
@unlink($tempFile);
return $this->response
->setStatusCode(200)
->setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
->setHeader('Content-Disposition', 'attachment;filename="' . $filename . '"')
->setHeader('Cache-Control', 'max-age=0')
->setBody($excelData);
} catch (\Exception $e) { } catch (\Exception $e) {
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $e->getMessage()], 500); return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $e->getMessage()], 500);
} }