Heim  >  Fragen und Antworten  >  Hauptteil

Das Hochladen der Laravel Livewire-Datei gibt Null zurück

Ich habe Probleme beim Hochladen von Dateien mit Livewire. Ich verwende ein sehr einfaches Beispiel, um mein Ziel zu erreichen, aber das Problem besteht darin, dass es beim Senden null zurückgibt.

Das ist mein Livewire-Controller-Code:

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粉587780103285 Tage vor429

Antworte allen(1)Ich werde antworten

  • P粉184747536

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

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

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

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

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

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

    一切都是最新的!

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

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

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

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

    希望这对您有所帮助!

    Antwort
    0
  • StornierenAntwort