我正在使用文件上传功能制作laravel api。上载文件时会出现错误,并且表单数据未插入数据库。如何在laravel中解决此错误,请帮助我。
public function store(Request $request)
{
$this->validate($request, [
'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'email' => 'required|email|unique:users',
'username' => 'required|string|max:50',
'mobile' => 'required|number|max:10',
'password' => 'required'
]);
$employees = new Detail($request->input()) ;
$employees->username = $request->get('username'),
$employees->email= $request->get('email'),
$employees->mobile = $request->get('mobile'),
$employees->password = $request->get('password'),
if($file = $request->hasFile('image')) {
$file = $request->file('image') ;
$fileName = $file->getClientOriginalName() ;
$destinationPath = public_path().'/images/' ;
$file->move($destinationPath,$fileName);
$employees->image = '/images/'.$fileName ;
}
$employees->save();
return response()->json(['message' => 'Image Uploaded Successfully']);
}
答案 0 :(得分:0)
I am resolve this problem. this is my code which working form me.
public function store(Request $request)
{
$details = new Detail($request->input()) ;
$details->username = $request->username;
$details->email= $request->email;
$details->mobile = $request->mobile;
$details->password = $request->password;
if($file = $request->hasFile('image')) {
$file = $request->file('image') ;
$fileName = $file->getClientOriginalName() ;
$destinationPath = public_path().'/images/' ;
$file->move($destinationPath,$fileName);
$details->image = '/images/'.$fileName ;
}
$details->save();
return response()->json(['message' => 'Image Uploaded Successfully']);
}