The file failed to upload.

    public function upload(Request $request, Service $service)
    {
        $data = $request->all();
        $rule = [
            'file' => 'required',
        ];
        $message = [
            'required' => '文件不存在,请重新上传',
        ];
        $validator = Validator::make($data, $rule, $message);
        if ($validator->fails()) {
            //现在代码一直往这里面跑,不知道啥情况
            $msg = $validator->errors()->first();
            return $this->errorResponse(300,$msg);
        }
        $result = $service->upload($request->file('file'));
        return $this->reponse($request, $result);
    }

php配置

file_uploads = On
upload_max_filesize = 50M
post_max_size = 50M

看了别的帖子有说是权限问题,我也没存本地,所以具体是哪个文件夹的权限。storage的文件夹我也赋777的权限了,也没用
PHP版本:8.2.20
开发环境:Linux opensuse
项目文件主目录:/home/xm
php-fpm的运行用户:xm

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

破案了 调用file方法调试

$file->getErrorMessage();

输出以下信息

"The file "日志.zip" exceeds your upload_max_filesize ini directive (limit is 2048 KiB)."

但是我明明改了/etc/php8/cli/php.ini的配置信息了,并且也重启了;
后面发现php-fpm读取的是/etc/php8/fpm/php.ini的配置文件,改了之后重启就可以了

5个月前 评论
讨论数量: 2

调试一下就好啦,把校验规则换一个试试,参考文档:请求《Laravel 10 中文文档》

5个月前 评论

破案了 调用file方法调试

$file->getErrorMessage();

输出以下信息

"The file "日志.zip" exceeds your upload_max_filesize ini directive (limit is 2048 KiB)."

但是我明明改了/etc/php8/cli/php.ini的配置信息了,并且也重启了;
后面发现php-fpm读取的是/etc/php8/fpm/php.ini的配置文件,改了之后重启就可以了

5个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!