我具有将数据插入表中的功能,并且该数据包括image / file。我认为我的表单没有问题,但是添加了这个uniqid()之后,就无法提交错误“调用成员函数getClientOriginalExtension()为null”的错误
public function store_pelatihan(Request $request)
{
$this->validate($request,[
// 'title' => 'required|min:5',
// 'description' => 'required|min:5|max:14'
] );
if($request->hasfile('file_scan'))
{
$file = $request->file('file_scan');
$name=$file->getClientOriginalName();
$extension = $request->image->getClientOriginalExtension();
$fileName = $file.'.'.uniqid().'.'.$extension;
$file->move(public_path().'/files/', $fileName);
$data = $fileName;
}
$users = new Master_seminar_pelatihan;
$users->user_id = $request->user_id ;
$users->nama_pelatihan = $request->nama_pelatihan ;
$users->nomor_pelatihan = $request->nomor_pelatihan ;
$users->tanggal = $request->tanggal ;
$users->uraian = $request->uraian ;
$users->tempat = $request->tempat ;
$users->file_scan = $data;
dd($data);
// $users->save();
// return redirect ('pelatihan')->with('success', 'Input Succes');
}
以前,我正在运行这段代码,并且运行时没有错误:
$extension = $request->image->getClientOriginalExtension();
$fileName = $file.'.'.uniqid().'.'.$extension;
答案 0 :(得分:0)
更改此行:
$request->image->getClientOriginalExtension()
至:
$file->getClientOriginalExtension()
答案 1 :(得分:0)
如果要与'串联。'在 uniqid()之前,将需要扩展名,因此您可以使用 -'或'_'。
$fileName = $file.'_'.uniqid().'.'.$extension;
或
$fileName = $file.'-'.uniqid().'.'.$extension;
答案 2 :(得分:0)
isValid()
getClientOriginalExtension()
(不是 $ request-> image ) if ($request->hasfile('file_scan') && $request->file('file_scan')->isValid()) {
$file = $request->file_scan;
$name = $file->getClientOriginalName();
$extension = $file->getClientOriginalExtension();
$fileName = $name . '.' . uniqid() . '.' . $extension;
$file->move(public_path() . '/files/', $fileName);
$data = $fileName;
}