Php validation.Upload并调用null上的成员函数扩展()

Php validation.Upload并调用null上的成员函数扩展(),php,laravel,api,validation,Php,Laravel,Api,Validation,我正在使用laravel8构建一个API,并希望上载帖子的图像,当我在postman中不发送帖子字段的值时,会出现以下错误: "error": { "images": [ "validation.uploaded" ] }, 调用null上的成员函数扩展() 当我为字段发送值时,会出现以下错误: "error": { "i

我正在使用laravel8构建一个API,并希望上载帖子的图像,当我在postman中不发送帖子字段的值时,会出现以下错误:

 "error": {
        "images": [
            "validation.uploaded"
        ]
    },
调用null上的成员函数扩展()

当我为字段发送值时,会出现以下错误:

 "error": {
        "images": [
            "validation.uploaded"
        ]
    },
我在
php.ini
中更改了上传文件的大小,但没有修复

如您所见,当我没有为字段输入值时,我的验证不起作用

我的代码:

邮政表格:

public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->unsignedBigInteger('category_id');
            $table->unsignedBigInteger('user_id');

            $table->string('title');
            $table->longText('body');
            $table->string('video')->nullable();
            $table->string('study_time');
            $table->string('images');
            $table->integer('likes')->nullable();
            $table->tinyInteger('status')->nullable()->comment('status is 1 when a post is active and it is 0 otherwise.')->nullable();
            $table->text('tags')->nullable();


            $table->foreign('category_id')->references('id')->on('categories');
            $table->foreign('user_id')->references('id')->on('users');

         });
    }

PostController
中的
store()
方法:

public function store(Request $request )
    {
        $data = $request->all();

        $validator = Validator::make($data, [
            'user_id'=>'required',
            'category_id'=>'required',
            'title' => 'required|max:100|unique:categories',
            'body' => 'required|max:500',
            'study_time'=>'required',
            'images' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
        ]);

        $imageName = time().'.'.$request->images->extension();
        $request->images->move(public_path('images'), $imageName);

        if ($validator->fails()) {
            return response()->json(['error' => $validator->errors(), 'Validation Error']);
        }

        $post = Post::create($data);

        return response()->json([
        "success" => true,
        "message" => "successfully",
        "data" => $post
        ]);
    }


谢谢您的帮助。

您的图像似乎没有上载到Laravel,您如何将图像文件发送到Laravel服务器? 如果您使用的是VueJS,请记住使用Formdata了解更多信息


如果是自然表单,请通过检查浏览器上的开发工具来确保图像已发送。

我与邮递员一起发送图像,在表单数据中的身体部位,我选择图像的文件类型并将其上载,在标题部分我输入
内容类型
多部分/表单数据
值如何在邮递员上发送图像数据,应该是这样的通过选择邮递员上的文件添加图像数据我必须发送图像数据吗<代码>图像
只是
帖子
表格的一列是的,如果要保存图像文件,您应该这样做。Laravel处理图像,将图像文件发送到Laravel服务器,然后添加到本地存储,然后保存到数据库路径。尝试将if()代码移到$image变量之前,您将看到发送的数据无效。谢谢。。它保存在数据库中。。但当它拯救了。。
数据
中的
图像
没有任何内容<代码>“数据”:{“图像”:{},}