首页  >  问答  >  正文

Laravel Livewire 文件上传返回 Null

我在上传文件时遇到 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>


P粉587780103P粉587780103334 天前468

全部回复(1)我来回复

  • P粉184747536

    P粉1847475362023-12-14 10:43:18

    所以,正如我之前所说,几周前我也遇到了同样的问题。

    我有一个非常基本的Livewire控制器来存储图像,但无论我做什么,输入都会返回一个NULL值,或者一直说图像输入是必需,即使选择了图像。

    但是,如果我使用常规控制器(无 Livewire),一切都会以某种方式完美运行。

    在浪费了很多时间之后,我仍然在生产环境中启动了我的网站,并发现那里的一切都运转良好。

    所以我一直想知道:为什么它在我的本地环境中不起作用?

    一切都是最新的!

    我还在本地运行我的项目,并一直在端口 :3000 (http://localhost:3000) 上使用热重载。

    由于这个问题让我抓狂,我停止了热重载并继续测试主要服务主机名 (localhost) 上的所有内容。

    并且神奇地...一切正常。

    我仍然不明白为什么 Livewire 无法通过热重载正常工作。我的意思是,除了 input type="file"存储图像之外,一切都正常工作。

    希望这对您有所帮助!

    回复
    0
  • 取消回复