将上传的图像存储到数据库中 laravel

storing uploaded image into database laravel

我在将图像上传到数据库时遇到问题,每次尝试上传时,发送到数据库的数据都是空的,但我的本地磁盘可以存储图像,但我不知道该怎么做。我想我可能在控制器部分做错了

控制器:

public function store1(Request $request){

   $this->validate($request, [
        'file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);


   if ($request->hasFile('file')) {
        $image = $request->file('file');
        $name = $image->getClientOriginalName();
        $size = $image->getClientSize();
        $destinationPath = public_path('/images');
        $image->move($destinationPath, $name);

        $userImage = new UserImage;
        $userImage->name = $name;
        $userImage->size = $size;
        //dd($userImage);
        $userImage->save;
}

table 我想上传到:

Schema::create('user_images', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('size');
        $table->integer('user_id');
        $table->timestamps();
});

在您发布的代码中,您忘记设置 user_id 的数据。正如我在您的架构中看到的那样,它不可为空,因此它应该有一个数据。

另外,你能试试把 () 放在你的存档里吗 :

 $userImage->save();