Как запустить код после ответа () -> загрузка (в POST-контроле - PullRequest
0 голосов
/ 04 июля 2019

В моем приложении laravel 5.8 мне удалось создать файл с помощью https://github.com/spatie/browsershot и загрузить его в элемент управления:

$save_to_file = 'generate_profile_card_' . Session::getId() . '_' . $filename_to_save;

if ( strtolower($option_output_file_format) == 'pdf' ) {
    Browsershot::html(htmlspecialchars_decode($pdf_content))
        ->showBackground()
        ->save($save_to_file);
    \Response::download( $save_to_file, $save_to_file, array('Content-Type: application/octet-stream','Content-Length: pdf') );
    return response()->download( $save_to_file, $filename_to_save );

Я генерирую уникальное имя в переменной $ save_to_file, и файл загружается нормально, но в приведенном выше методе управления я возвращаюсь с методом загрузки, но мне также нужно: 1) удалить скачанный файл $ save_to_file 2) перенаправить сообщение о том, что загрузка прошла успешно. Это кажется хитрым, так как этот метод контроля требует возврата. Если комментировать последний вернуться ...

файл вообще не скачивается. Этот метод управления представлен формой submit:

<form method="POST" action="{{ url('/profile/generate-pdf-by-content') }}" accept-charset="UTF-8" id="form_print_to_pdf_content" name="form_print_to_pdf_content"
          enctype="multipart/form-data">
        {!! csrf_field() !!}

Если есть способ запустить некоторый код после
return response()->download( $save_to_file, $filename_to_save);

при успешной загрузке?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...