It is as follows, I have a file system in laravel, in the edit part, the form loads the fields filled with the photo, if I click update and do not choose an image file again the error appears: " Call to a member function getClientOriginalExtension () on null ".
CONTROLLER
public function detalhes($id, Request $request){
$data = array();
$data["lista"] = \App\Curso::all();
try{
$alu = \App\Aluno::find($id);
if($request->isMethod("POST")){
$matricula = $request->input("matricula", "");
$nome = $request->input("nome", "");
$telefone = $request->input("telefone", "");
$sexo = $request->input("sexo", "");
$email = $request->input("email", "");
$endereco = $request->input("endereco", "");
$bairro = $request->input("bairro", "");
$cep = $request->input("cep", "");
$cidade = $request->input("cidade", "");
$estado = $request->input("estado", "");
$idcurso = $request->input("idcurso", "");
$file = $request->file("foto");
$ext = $file->getClientOriginalExtension();
$size = $file->getSize();
if($ext != "jpg" && $ext != "png" && $ext != "jpeg"){
$data["resp"] = "<div class='alert alert-info'>"
. "Escolha uma IMAGEM valida</div>";
//2MB
}else if($size > (1024 * 1024 * 2)){
$data["resp"] = "<div class='alert alert-info'>"
. "Tamanho da imagem invalido</div>";
}else{
$fileName = "ft_" .date('YmdHis').".".$ext;
$alu->matricula = $matricula;
$alu->nome = $nome;
$alu->telefone = $telefone;
$alu->sexo = $sexo;
$alu->email = $email;
$alu->idcurso = $idcurso;
$alu->foto = $fileName;
$alu->save();
$idend = $alu->endereco->idendereco;
$e = \App\Endereco::find($idend);
$e->endereco = $endereco;
$e->bairro = $bairro;
$e->cidade = $cidade;
$e->cep = $cep;
$e->estado = $estado;
$e->aluno()->associate($alu);
$e->save();
$file->move("fotos", $fileName);
$data["resp"] = "<div class='alert alert-success'>"
. "Aluno editado com sucesso!</div>";
$alu = \App\Aluno::find($id);
return redirect('admin/buscar.html');
}
}
$data["a"] = $alu;
} catch (Exception $ex) {
$data["resp"] = "<div class='alert alert-danger'>"
. "Operação não realizada</div>";
}
return view('aluno/detalhes', $data);
}