Saya menghadapi masalah memuat naik fail dengan livewire. Saya menggunakan contoh yang sangat asas untuk mencapai matlamat saya, tetapi masalahnya ialah ia mengembalikan batal apabila diserahkan.
Ini ialah kod pengawal Livewire saya:
class UploadPhoto extends Component { use WithFileUploads; public $photo; public function save() { dd($this->photo); //returns null $this->validate([ 'photo' => 'image|max:1024', // 1MB Max ]); $this->photo->store('photos'); } } <form wire:submit.prevent="save"> <input type="file" wire:model="photo"> @error('photo') <span class="error">{{ $message }}</span> @enderror <button type="submit">Save Photo</button> </form>
Jadi, seperti yang saya katakan sebelum ini, saya mengalami masalah yang sama beberapa minggu lalu.
Saya mempunyai Livewire Controller yang sangat asas untuk menyimpan imej, tetapi tidak kira apa yang saya lakukan, input mengembalikan nilai NULL, atau terus mengatakan bahawa input imej adalah diperlukan, walaupun imej dipilih.
Tetapi jika saya menggunakan pengawal biasa (tiada Livewire) semuanya berfungsi dengan sempurna entah bagaimana.
Selepas membuang banyak masa, saya masih melancarkan laman web saya dalam pengeluaran dan mendapati semuanya berfungsi dengan baik di sana.
Jadi saya tertanya-tanya: Mengapa ia tidak berfungsi dalam persekitaran tempatan saya?
Semuanya terkini!
Saya juga menjalankan projek saya secara tempatan dan telah menggunakan muat semula panas pada port :3000 (http://localhost:3000).
Memandangkan isu ini membuatkan saya gila, saya menghentikan muat semula panas dan terus menguji segala-galanya pada nama hos perkhidmatan utama (hos tempatan).
Dan secara ajaib...semuanya berkesan.
Saya masih tidak faham mengapa Livewire tidak berfungsi dengan betul dengan muat semula panas. Maksud saya, semuanya berfungsi dengan baik kecuali
input type="file"
untuk menyimpan imej.Semoga ini membantu!