我在上传文件时遇到 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"
来存储图像之外,一切都正常工作。希望这对您有所帮助!