My code to upload files from GuzzleHttp to send request to API is not working. In the API controller its not detecting my image that i sent. So my if condition is never getting executed.
My Controller =>
<?php
public function contact(Request $request)
{
$request_inputs = $request->all();
$client = new Client();
$url = env('API_URL')."api/v1/contact";
$myBody['name'] = $request_inputs['name'];
$myBody['email'] = $request_inputs['email'];
$myBody['phone'] = $request_inputs['phone'];
$myBody['message'] = $request_inputs['description'];
$headers = [
'Content-Type' => 'application/json'
];
$image_data = $request->file('file');
$filename = $request->file('file')->getClientOriginalName();
$file_path = $image_data->getPathName();
try {
$request = $client->post($url,[
'multipart' => [
[
'name' => 'image',
'contents' => file_get_contents($image_data),
'filename' =>$filename,
],[
'name'=>'user_id',
'contents'=>'20'
]
],
'headers' => $headers,'json'=>$myBody]);
$response = $request->getBody();
$data = json_decode($response);
$msg = $data
} catch (\Exception $e) {
$status = 0;
$msg = $msg = $e->getMessage();
}
echo json_encode(array('status'=>$status,'msg'=>$msg));
}
My Api Controller =>
public function postContactData(Request $request)
{
$image = "";
if ($files = $request->file('image'))
{
print_r("Adfasd");die;
$path = public_path('/images/users/contactus/');
$image = date('YmdHis') . "." . $files->getClientOriginalExtension();
$files->move($path, $image);
$image = url('/images/users/contactus/' . $image);
}
}