Загрузка больших файлов с помощью Laravel Nova - PullRequest
0 голосов
/ 29 октября 2019

У меня есть приложение Laravel (v6.x), развернутое с Vapor.

Я пытаюсь загрузить файл, используя форму в Laravel Nova.

Nova предлагает несколько способов загрузки, один из которых использует собственную реализацию для простоты использования, а другой - где у разработчика больше контроля.

Стандартный код:

public function fields(Request $request)
    {
        return [
              File::make('file')
                ->disk('s3')
                ->storeSize('attachment_size')->nullable()
                ->path('ID-'.$request->associatedId)
                ->putFile()
                ->hideWhenUpdating()
                ->hideFromIndex(),
        ];
    }

И"взять контроль":

public function fields(Request $request)
    {
        return [
              File::make('file')
              ->store(function (Request $request, $model) {
                // I think i can do whatever i want here.

                  return [
                      'file' => $request->file->store('/ITEM-'.$request->associatedId, 's3'),
                      'attachment_size' => $request->file->getSize(),
                  ];
              }),
         ];
    }

Обе они работают, если размер файла составляет ~ 3 МБ или меньше. Тем не менее, мне нужно будет загрузить файлы размером примерно 20 ~ 200 МБ.

Всякий раз, когда я пытаюсь отправить форму, вся информация сохраняется в базе данных, и ошибки не отображаются. К сожалению, поле файла не заполнено, и загрузка не производилась.

Что мне нужно сделать, чтобы сделать возможной загрузку больших файлов в Laravel nova?

...