Как правильно сохранить PDF файл в storage в Laravel 8?

Я генерирую html файл в pdf через dompdf пакет.

$pdf = PDF::loadView('user.reports.pdf', compact('transactionsByDays'));
$fileName = 'transactions-'.time();
Storage::put('public/pdf/'.$fileName.'.pdf', $pdf->output());

Делаю я это в очереди, которую вызываю из контроллера. Но вот когда я скачиваю этот сохраненный файл потом из другого метода контроллера через return Storage::download('public/pdf/'.$fileName.'.pdf'); у меня скачивается "поломанный" файл как на скрине 1.
В то же время если тот же код вызвать не из Job файла(очереди), а из контроллера:

$pdf = PDF::loadView('user.reports.pdf', compact('transactionsByDays'));
$fileName = 'transactions-'.time();
Storage::put('public/pdf/'.$fileName.'.pdf', $pdf->output());
return Storage::download('public/pdf/'.$fileName.'.pdf');

То файл скачивается и отображается как надо (скрин 2).

По моим наблюдением проблема случается на этапе сохранения файла, а не на этапе скачивания. Не могу никак понять почему из контроллера все нормально сохраняется, а из джоба нет. Права на папку storage уже на 777 поставил, не помогло. Решил может стоит линк в паблик прописать, кто его знает... Но тоже мимо.

Я в полном замешательстве... В чем блин может быть проблема? Уже что-только не перепробовал, генерить респонс с заголовками типа контент-тайп аппликейшен джейсон и т.п. Все равно из джоба сохраняется поломанный файл какой-то... И ошибок никаких не следует, логи пустые. А без очередей обходиться не хочется, сами понимаете.

некорректное отображение(скрин1)

корректное отображение(скрин2)


Ответы (0 шт):