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

Сохранение с именем в Livewire

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

Вместо автоматического имени можно задать своё через метод storeAs: он кладёт файл в указанную папку и возвращает путь уже с выбранным названием.

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

php artisan make:livewire PostAvatar --class

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

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

Давайте в методе save сохраним файл под фиксированным именем:

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

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

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

Создайте компонент EmployeeAvatar. Файл работника сохраняется под именем portrait.png.

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