Laravel 在 null 时调用成员函数 getClientOriginalExtension()

Laravel Call to a member function getClientOriginalExtension() on null

您好,我在使用 laravel 上传图片时遇到以下错误:"Call to a member function getClientOriginalExtension() on null"。

这是我的控制器:

$imageName = rand(11111, 99999) . '.' . $request->file('image')->getClientOriginalExtension();
            $destinationPath = 'events';
            $fileName = rand(11111, 99999) . '.' . $extension;
            $upload_success = $image->move($destinationPath, $imageName);

这是我的观点:

{!! Form::file('image', null, ['class' => 'form-control']) !!}

如何将 $imageName 保存到数据库中的 pic 字段。我试过了,但没用。该字段在 table.

中保持为空
$task=$request->user()->tasks()->create([
            'name' => $request->name,
            'description' => $request->description,
            'location' => $request->location,
            'pic' => $imageName,
        ]);

在您的 form:open 中,您需要如下 'files' => true

Form::open('your_path', array('files' => true))

<form action="your_path" method="post" enctype="multipart/form-data">

这意味着没有看到该文件的文件输入。因此,请检查您是否在每个文件 input

中输入了一些内容

只需在表单的开始标记中添加以下代码即可: enctype="multipart/form-data"

首先请检查接受的解决方案,然后检查输入名称和文件参数,名称必须相同。

控制器:

$request->file('image')->getClientOriginalExtension();

查看:

<input type="file" name="image"/>