public function postImage() { $idArticle = Input::get('idArticle'); try { $extensiones = array('jpg', 'jpeg', 'gif', 'png', 'bmp'); $file = Input::file("image"); $extension = strtolower($file->getClientOriginalExtension()); $size = Input::file('image')->getClientOriginalExtension(); if (!in_array($extension, $extensiones)) { return Redirect::to('articles')->with('message', 'Tipo de archivo inválido.'); } if ($file->getSize() > 10000000) { return Redirect::to('articles/search?filterBy=id&search=' . $idArticle)->with('message', 'El tamaño de la imagen no puede ser mayor a 10000KB.'); } $dataUpload = array("image" => $file); $rules = array(); $messages = array(); $validation = Validator::make(Input::all(), $rules, $messages); // $filename = $file->getClientOriginalName(); // $fileInfo = new SplFileInfo($filename); // $filename = $idArticle .'.'. $fileInfo->getExtension(); if ($validation->fails()) { return Redirect::to('articles')->withErrors($validation); } else { $articleImage = ArticleImage::find($idArticle); $ai['id'] = $idArticle; $ai['user_id'] = Auth::user()->id; $ai['image'] = $idArticle . '.' . $extension; if (empty($articleImage)) { $articleImage = new ArticleImage(); $articleImage->create($ai); /*Cambia el tamaño de la imagen y guarda el archivo en img/articles con el id del artículo y su extenxión*/ Image::make($file->getRealPath())->widen(150)->save('img/articles/' . $ai['image']); // $file->move("img/articles", $ai['image']); return Redirect::to('articles/search?filterBy=id&search=' . $idArticle)->with(array('messageOk' => 'Imagen subida con éxito.')); } else { if ($articleImage->update($ai)) { Image::make($file->getRealPath())->widen(150)->save('img/articles/' . $ai['image']); // $file->move("img/articles", $ai['image']); return Redirect::to('articles/search?filterBy=id&search=' . $idArticle)->with(array('messageOk' => 'Imagen actualizada con éxito.')); } } } #else } catch (Exception $e) { return Redirect::to('articles/search?filterBy=id&search=' . $idArticle)->with(array('message' => '<p>La imagen no se pudo subir, revisa el formato (jpg,jpeg,gif,png) y el tamaño del archivo (max:1000KB).</p>')); } }