你好我在使用laravel上传图像时遇到以下错误:"在null"上调用成员函数getClientOriginalExtension()。
这是我的控制器:
$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字段。我试过这个,但它没有用。该字段在表中保持为空。
$task=$request->user()->tasks()->create([
'name' => $request->name,
'description' => $request->description,
'location' => $request->location,
'pic' => $imageName,
]);
答案 0 :(得分:5)
在您的form:open
中,您需要'files' => true
,如下所示
Form::open('your_path', array('files'=> true))
或
<form action="yout path" method="post" enctype="multipart/form-data">
答案 1 :(得分:0)
这意味着没有看到该文件的文件输入。因此,请检查您是否在每个文件输入中输入内容
答案 2 :(得分:0)
只需在表单的开始标记内添加以下代码:
enctype="multipart/form-data"
答案 3 :(得分:0)
请首先在此处检查Camilo Rojas接受的解决方案,然后检查输入名称和文件参数,名称必须相同。
控制器:
$request->file('image')->getClientOriginalExtension();
查看:
<input type="file" name="image"/>