РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplwPmFsSt 70 of 76 menu
◀ ▶

Сохранение файла в Livewire

Давайте теперь возьмём картинку, которую человек приложил к посту. До обновления страницы она ещё держится, а в папке сайта файла нет.

После отправки формы временный файл можно положить в каталог на диске через метод store у объекта файла. Путь, который вернёт этот вызов, удобно показать под формой, чтобы было видно, куда файл попал.

Давайте создадим компонент PostFile:

php artisan make:livewire PostFile --class

Давайте добавим маршрут и страницу:

<?php Route::get('/posts/file', function () { return view('posts-file'); }); ?>
<x-layout> <livewire:post-file /> </x-layout>

Давайте заведём свойства, метод save и трейт загрузки:

<?php namespace App\Livewire; use Livewire\Component; use Livewire\WithFileUploads; class PostFile extends Component { use WithFileUploads; public $photo; public $path = ''; public function save() { $this->path = $this->photo ->store(path: 'photos'); } public function render() { return view( 'livewire.post-file' ); } } ?>

Давайте в шаблоне оформим форму и вывод пути:

<div> <form wire:submit="save"> <input type="file" wire:model="photo" > <button type="submit"> Save </button> </form> {{ $path }} </div>

Создайте компонент EmployeeFile. Выбранный файл работника кладётся в папку сайта, а на странице виден путь.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить