usare il trait Livewire\WithFileUploads
Dato una var chiamata $logo con in wire:model su un input:f
$ext = $this->logo->extension();
$original_fname = $this->logo->getClientOriginalName()
$fname = 'nome-generale-' . date('U') . '.' . $ext;
$fpath = $this->logo->storeAs('cartella', $fname);
$filepath = '/' . $fpath;Eliminare file
Se nella var $logo c’è la path del file
if(file_exists(public_path($this->logo))) {
unlink(public_path($this->logo));
}Tricks
-
Unico loader se più files e variabili: usare eventi JS con alpinejs
<div x-data="{ isUploading: false, progress: 0 }" x-on:livewire-upload-start="isUploading = true" x-on:livewire-upload-finish="isUploading = false" x-on:livewire-upload-error="isUploading = false" x-on:livewire-upload-progress="progress = $event.detail.progress"> <input type="file" wire:model="photo"> <div x-show="isUploading"> <progress max="100" x-bind:value="progress"></progress> </div> </div>