Laravel 9 Livewire 照片上传失败

标签 laravel file-upload laravel-livewire

我开始学习 Laravel 9 livewire。我正在尝试制作一个图像上传应用程序。我在 Livewire 文档中做了确切的示例,但出现图像无法上传的错误。当我在 Mac 计算机上执行相同的应用程序时,它运行没有任何问题。当我在 Windows 计算机上执行此操作时,它不起作用。

图片上传.php

<?php

namespace App\Http\Livewire;

use Livewire\Component;
use Livewire\WithFileUploads;

class ImegaUpload extends Component
{
    use WithFileUploads;

    public $photo;

    public function save()
    {
        $this->validate([
            'photo' => 'image|max:1024', // 1MB Max
        ]);

        $this->photo->store('photos');
    }


    public function render()
    {
        return view('livewire.imega-upload');
    }
}

图片上传.blade.php


<div>
    <h1>Image upload</h1>
    <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>
</div>

错误 enter image description here

我正在执行 Livewire 文档中的示例,但仍然收到错误。甚至没有创建 livewire-temp 文件夹。

最佳答案

看起来你的 PHP.ini 丢失了

sys_temp_dir

upload_tmp_dir

取消注释,然后设置其值。
我的例子。
Laragon 在 win 10 上:

sys_temp_dir = "c\laragon\tmp"

upload_tmp_dir = "c\laragon\tmp"

所有临时文件都将转到该位置(不仅仅是上传)

关于Laravel 9 Livewire 照片上传失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74326385/

相关文章:

laravel - 从 Azure Blob 存储流式传输视频无法搜索且速度极慢

php - Laravel Dompdf 生成 pdf 报错

php - SSH 隧道 - MySQL 服务器已消失

javascript - 以编程方式将文件上传到 ownCloud 服务器

laravel - 如何在 Livewire 重新渲染后重新初始化 AlpineJS 组件?

php - Laravel-livewire:为什么触发事件会执行 render() 方法?

php - 给 Laravel Livewire 组件加水和脱水是什么意思?

php - 更改要从数据库中获取的列的名称

python - Django 会存储临时文件多长时间?

c# - 在 Web API 中处理来自 POST 或 PUT REST 请求的二进制数据