I have a cvs table, which contains image, I want to update this image, use laravel and api rest and postman, but it doesn't work.
when I do dd($request->all()); it returns empty array, even I upload my image in postman, my cvs table contains just an image field.
ImageController.php
public function update(Request $request, $id)
{
$cv = Cv::where('id',$id)->first();
if($request->hasFile('image'))
{
$image = date('His').$request->file('image')->getClientOriginalName();
$path = "public\\annonces\\".$jdate->format('F').$jdate->year;
$pathh = "annonces\\".$jdate->format('F').$jdate->year."\\".$image;
$move = $request->file('image')->storeAs($path,$image);
$cv->image= $pathh;
}
$cv->save();
return $cv;
}
App\Cv.php
class Cv extends Model
{
protected $guarded = [];
}
routes/api.php
Route::resource('cvs','CvsController');
CodePudding user response:
I guess that's because You check an input with name photo but upload input name image
CodePudding user response:
You are probably using a PUT or PATCH request right? In that case, in order to Laravel be aware of request content, you need to use a POST request and add '_method': 'PATCH' in your payload from your client side.
Not sure how postman handles it, but you should use formData or multipart/form-data for uploading files.
