Загрузка файлов в Laravel 9: методы и примеры

Чтобы выполнить загрузку файлов в Laravel 9, вы можете использовать несколько методов. Вот некоторые часто используемые подходы:

  1. Использование объекта запроса:
    Вы можете управлять загрузкой файлов, получив доступ к загруженному файлу через объект Запрос. В методе контроллера введите подсказку для класса Illuminate\Http\Requestи используйте метод file()для получения загруженного файла.

    use Illuminate\Http\Request;
    public function upload(Request $request)
    {
       if ($request->hasFile('file')) {
           $file = $request->file('file');
           // Process or save the file
       }
    }
  2. Использование класса UploadedFile:
    Laravel предоставляет класс UploadedFileдля непосредственной обработки загрузки файлов. Этот класс предлагает различные методы манипулирования файлами, такие как перемещение загруженного файла, получение сведений о файле и проверка файла.

    use Illuminate\Http\UploadedFile;
    public function upload(UploadedFile $file)
    {
       if ($file->isValid()) {
           // Process or save the file
       }
    }
  3. Использование фасада хранилища.
    Фасад Storageв Laravel предоставляет удобный способ взаимодействия с файловыми системами. Вы можете использовать метод putFile()для сохранения загруженного файла в указанном месте.

    use Illuminate\Support\Facades\Storage;
    public function upload()
    {
       if (request()->hasFile('file')) {
           $path = Storage::putFile('uploads', request()->file('file'));
           // Process or save the file
       }
    }

Не забудьте определить в представлении соответствующие маршруты и атрибуты форм, чтобы разрешить загрузку файлов.