在 laravel 5.3 中使用邮递员在服务器上上传图像文件时出现问题?
Issue in uploading image file on server using postman in laravel 5.3?
我正在对文件大小调整功能和文件上传进行干预。
在控制器中,我只是检查 hasFile()
与否。因此,即使我使用邮递员正确发送,每次我都会收到 "no" 的回复。可能是什么问题?
我的路线
Route::post('contact/image/upload',[
'as'=> 'intervention.postresizeimage',
'uses'=>'contactController@upload_image'
]);
控制器中的代码
public function upload_image(Request $request){
if((preg_match("/^[789]\d{9}$/", $request->header('UID')))){
if($request->hasFile('photo'))
return "yes";
else
return "no";
$photo = $request->file('photo');
$imagename = time().'.'.$photo->getClientOriginalExtension();
$destinationPath_thumb = storage_path('images/thumbnail_images');
$thumb_img = Image::make($photo->getRealPath())->resize(100, 100);
$thumb_img->save($destinationPath_thumb.'/'.$imagename,80);
$destinationPath_medium = storage_path('images/medium_images');
$medium_img = Image::make($photo->getRealPath())->resize(500, 500);
$medium_img->save($destinationPath_medium.'/'.$imagename,80);
$destinationPath_original = storage_path('images/original_images');
$photo->move($destinationPath_original, $imagename);
$user = \App\User::select(['inst_id'])->where('mobile','=',$request->header('UID'))->first();
$update_img = \App\Contact::where([['id','=',$request->ID],['inst_id','=',$user->inst_id]])->update(['image'=>$imagename]);
if($update_img)
$response = response()->json(['data'=>[], 'error'=>0, 'error_msg'=>'', 'message'=>'Profile updated']);
else
$response = response()->json(['data'=>[], 'error'=>1, 'error_msg'=>'some went wrong', 'message'=>'Please try again']);
}
else
$response = response()->json(['data'=>[], 'error'=>1, 'error_msg'=>'wrong mobile in UID header','message'=>'wrong mobile no. in header']);
return $response;
}
表单标签中的 enctype 属性是什么?如果您上传文件,它应该看起来像这样:
<form method="post" enctype="multipart/form-data">
我也这么认为 photo 不是发布数据的正确名称。
您可能会看到给定的 Postman 图片:
Postman Body
Postman Headers
我正在对文件大小调整功能和文件上传进行干预。
在控制器中,我只是检查 hasFile()
与否。因此,即使我使用邮递员正确发送,每次我都会收到 "no" 的回复。可能是什么问题?
我的路线
Route::post('contact/image/upload',[
'as'=> 'intervention.postresizeimage',
'uses'=>'contactController@upload_image'
]);
控制器中的代码
public function upload_image(Request $request){
if((preg_match("/^[789]\d{9}$/", $request->header('UID')))){
if($request->hasFile('photo'))
return "yes";
else
return "no";
$photo = $request->file('photo');
$imagename = time().'.'.$photo->getClientOriginalExtension();
$destinationPath_thumb = storage_path('images/thumbnail_images');
$thumb_img = Image::make($photo->getRealPath())->resize(100, 100);
$thumb_img->save($destinationPath_thumb.'/'.$imagename,80);
$destinationPath_medium = storage_path('images/medium_images');
$medium_img = Image::make($photo->getRealPath())->resize(500, 500);
$medium_img->save($destinationPath_medium.'/'.$imagename,80);
$destinationPath_original = storage_path('images/original_images');
$photo->move($destinationPath_original, $imagename);
$user = \App\User::select(['inst_id'])->where('mobile','=',$request->header('UID'))->first();
$update_img = \App\Contact::where([['id','=',$request->ID],['inst_id','=',$user->inst_id]])->update(['image'=>$imagename]);
if($update_img)
$response = response()->json(['data'=>[], 'error'=>0, 'error_msg'=>'', 'message'=>'Profile updated']);
else
$response = response()->json(['data'=>[], 'error'=>1, 'error_msg'=>'some went wrong', 'message'=>'Please try again']);
}
else
$response = response()->json(['data'=>[], 'error'=>1, 'error_msg'=>'wrong mobile in UID header','message'=>'wrong mobile no. in header']);
return $response;
}
表单标签中的 enctype 属性是什么?如果您上传文件,它应该看起来像这样:
<form method="post" enctype="multipart/form-data">
我也这么认为 photo 不是发布数据的正确名称。 您可能会看到给定的 Postman 图片:
Postman Body
Postman Headers