Вы можете использовать заголовок, а также преобразование перед отправкой содержимого.Эти строки заставляют браузер загружать файл XML из моей пользовательской коллекции или модели.
$response = Response::create(strval($someCollection), 200);
$response->header('Content-Type', 'text/xml');
$response->header('Cache-Control', 'public');
$response->header('Content-Description', 'File Transfer');
$response->header('Content-Disposition', 'attachment; filename=custome_filename.xml');
$response->header('Content-Transfer-Encoding', 'binary');
return $response;
Если ваш файл готов, вам не нужно читать его содержимое, поэтому вы можете использовать его:
return response()->download($pathToFile, $name, $headers);
И $headers
может быть массивом из приведенного выше примера, например:
$header = ['Content-Type' => 'text/xml'];
с дополнительными настройками key => value
Нет необходимости использовать Axios или ... Вы можетепозвоните напрямую по URL вашей конечной точки на вашей стороне Laravel, например, в React или чистом JS.
window.location.href = window.YOUR_API_DOWNLOAD_URL;