Я использую StreamedResponse для обслуживания большого файла CSV. Когда я получаю сообщение об ошибке в функция обратного вызова, браузер просто отображает ошибку «файл не найден», и у меня нет доступа к панели инструментов отладки Symfony. Есть ли способ получить доступ к исключению, которое было создано в обратном вызове?
Мое действие выглядит так:
public function exportAction(Request $request) {
$response = new StreamedResponse();
$response->setCallback(function() {
// Here i'm fetching my data with Doctrine and outputting it with
// $handle = fopen('php://output', 'w'); ...fputcsv() ...fclose();
});
$response->setStatusCode(200);
$response->headers->set('Content-Type', 'text/csv; charset=utf-8');
$response->headers->set('Content-Disposition', 'attachment; filename = "export.csv"');
return $response;
}
РЕДАКТИРОВАТЬ В большинстве случаев при просмотре запроса в средстве разработки браузера содержимое ответа остается пустым.






Хм ... Я не знаю ни одного удобного метода, но вы можете загрузить домашнюю страницу, открыть профилировщик и нажать кнопку «Последние 10», чтобы увидеть прошлые профили.
Иногда, когда я заглядываю в консоль инструментов разработчика браузера, я даже не получаю статус неудавшегося запроса, и он не отображается в кнопке «последние 10». Есть идеи, почему? Получается только сообщение «файл не найден».
Спасибо, может быть, есть более удобный способ, но это помогло.