Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#2 Laravel 5.x » Генерировать и отдавать файл пользователю » 24.01.2019 09:46:42

Waik
Ответов: 1

Здравствуйте. Решил прокачивать свой скилл и пора переходить на серьезные фреймворки, хочется учиться делать сразу правильно.
Установил Laravel на VDS, посмотрел пару видеокурсов, почитал статьи и хелпы. На чужих примерах все просто и понятно, но когда дело доходит до своих - начинаешь путаться.
Проект взял простой и небольшой, пользователь заполняет некоторую форму и отправляет её на бекэнд, бекенд из полученных данных генерирует файл и отдает клиенту. Решений подобной задачи в сети много, но даже я понимаю что часть из них неверные.
В первом приближении я вижу логику следующим образом: форма обрабатывается ajax и post запросом идет на бекенд, бекенд обрабатывает и возвращает в ответ файл.

Так вот, как на бекенде правильно организовать логику?
0. Создаем контроллер:

php artisan make:controller FileController

1. Cоздаем маршрут:

Route::post("", "FileController@Generate")

3. примерный код маршрута:

class FileController extends Controller
{
  public function Generate($data) {
    ..генерируем файл...
    $file_path = public_path('files/'.$file_name);
    return response()->download($file_path);
    ..удаляем файл..
  }
}

4. На фронтенде ajax'ом ловим ответ и качаем файл

Такая логика правильная?

p/s ошибся темой, прошу перенести https://laravel.ru/forum/viewforum.php?id=10

Подвал раздела