I would like in the method update() to upload files to the server.
upload method:
JavaScript
x
private function upload($request){
if($request->hasFile('image')){
$image = $request->file('image');
$extension = $request->file('image')->getClientOriginalExtension();
$generate_name = md5(uniqid(rand(), true));
$file_name = $generate_name . '.' . $extension;
$image->move(public_path() . '/post_image/', $file_name);
return $file_name;
}
}
update method:
JavaScript
public function update(ArticleRequest $request, $id)
{
$article = Article::FindOrFail($id);
$file = $this->upload($request);
$article->image = $file;
$article->update($request->all());
Session::flash('message', 'Wpis został edytowany!');
return redirect('articles');
}
However, when I send the form error occurs.
But the same code with the upload () method store works very well.
JavaScript
public function store(ArticleRequest $request)
{
$article = new Article($request->all());
$file = $this->upload($request);
$article->image = $file;
Auth::user()->articles()->save($article);
Session::flash('message', 'Wpis został dodany!');
return redirect('articles');
}
Advertisement
Answer
I’ve just got this issue and fixed it using Input::all
instead of $request
object, something like:
JavaScript
$data = Input::all();
if(isset($data['image'])) {
// Do your thing
}
It seems like there is any issue with the request
helper/class and the UploadedFile
when you make PUT
instead of pure POST
Cheers!!…