我在上传文件时遇到 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>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
所以,正如我之前所说,几周前我也遇到了同样的问题。
我有一个非常基本的Livewire控制器来存储图像,但无论我做什么,输入都会返回一个NULL值,或者一直说图像输入是必需,即使选择了图像。
但是,如果我使用常规控制器(无 Livewire),一切都会以某种方式完美运行。
在浪费了很多时间之后,我仍然在生产环境中启动了我的网站,并发现那里的一切都运转良好。
所以我一直想知道:为什么它在我的本地环境中不起作用?
一切都是最新的!
我还在本地运行我的项目,并一直在端口 :3000 (http://localhost:3000) 上使用热重载。
由于这个问题让我抓狂,我停止了热重载并继续测试主要服务主机名 (localhost) 上的所有内容。
并且神奇地...一切正常。
我仍然不明白为什么 Livewire 无法通过热重载正常工作。我的意思是,除了
input type="file"来存储图像之外,一切都正常工作。希望这对您有所帮助!