laravel Livewire图像上传422未处理实体错误

jxct1oxe  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(122)

请我需要帮助,我试图上传一个图像使用livewire,但遇到422(不可处理的实体)错误时,图像大小超过2MB。
我使用Wamp服务器,我已经增加了内存限制,并在php.ini上传大小,但错误仍然存在

9udxz4iz

9udxz4iz1#

我遇到了类似的事情,并找到了解决办法。或许能帮上忙。
实际上,Livewire上传在默认情况下对临时文件有最大的验证,我们可以在config/livewire.php中更改它:

...
    'temporary_file_upload' => [
        'disk' => null,        // Example: 'local', 's3'              Default: 'default'
        'rules' => null,       // Example: ['file', 'mimes:png,jpg']  Default: ['required', 'file', 'max:12288'] (12MB)
        'directory' => null,   // Example: 'tmp'                      Default  'livewire-tmp'
        'middleware' => null,  // Example: 'throttle:5,1'             Default: 'throttle:60,1'
        'preview_mimes' => [   // Supported file types for temporary pre-signed file URLs.
            'png', 'gif', 'bmp', 'svg', 'wav', 'mp4',
            'mov', 'avi', 'wmv', 'mp3', 'm4a',
            'jpg', 'jpeg', 'mpga', 'webp', 'wma',
        ],
        'max_upload_time' => 5, // Max duration (in minutes) before an upload gets invalidated.
    ],
...

在规则中,我们可以设置:

'rules' => ['required', 'file', 'max:52288'],

当我们将其保留为null时,它将使用vendor文件中的条件:

public static function rules()
    {
        $rules = config('livewire.temporary_file_upload.rules');

        if (is_null($rules)) return ['required', 'file', 'max:12288'];

        if (is_array($rules)) return $rules;

        return explode('|', $rules);
    }

相关问题