示例#1
0
 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>'));
     }
 }