我在上傳檔案時遇到 livewire 問題。我正在使用一個非常基本的範例來實現我的目標,但問題是它在提交時傳回 null。
這是我的 Livewire 控制器程式碼:
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>
所以,正如我之前所說,幾週前我也遇到了同樣的問題。
我有一個非常基本的Livewire控制器來儲存圖像,但無論我做什麼,輸入都會返回一個NULL值,或者一直說圖像輸入是必需,即使選擇了圖像。
但是,如果我使用常規控制器(無 Livewire),一切都會以某種方式完美運行。
在浪費了很多時間之後,我仍然在生產環境中啟動了我的網站,並發現那裡的一切都運作良好。
所以我一直想知道:為什麼它在我的本地環境中不起作用?
一切都是最新的!
我還在本地運行我的項目,並一直在連接埠 :3000 (http://localhost:3000) 上使用熱重載。
由於這個問題讓我抓狂,我停止了熱重載並繼續測試主要服務主機名稱 (localhost) 上的所有內容。
並且神奇地...一切正常。
我仍然不明白為什麼 Livewire 無法透過熱重載正常工作。我的意思是,除了
input type="file"
來儲存圖像之外,一切都正常工作。希望這對您有幫助!