public function enviarImagem(Model $obj, $tipo, UploadedFile $file, $substituir = false)
 {
     //EXCLUINDO ANTIGA
     if ($substituir) {
         $imagens = $this->findWhere([$obj->getKeyName() => $obj->getKey(), 'imagem_tipo' => $tipo], ['imagem_id']);
         foreach ($imagens as $img) {
             $this->delete($img->imagem_id);
         }
     }
     $arquivo = $obj->gerarNomeHashArquivo($file);
     $file->move($obj->folderPath(), $arquivo['completo']);
     $tamanho = getimagesize($obj->folderPath() . '/' . $arquivo['completo']);
     list($largura, $altura) = getimagesize($obj->folderPath() . "/" . $arquivo['completo']);
     if ($largura < $this->model->sizes[$tipo][0] || $altura < $this->model->sizes[$tipo][1]) {
         $img = Image::make($obj->folderPath() . "/" . $arquivo['completo']);
         $img->resizeCanvas($this->model->sizes[$tipo][0], $this->model->sizes[$tipo][1], 'center');
         $img->save($obj->folderPath() . "/" . $arquivo['completo']);
         $tamanho = getimagesize($obj->folderPath() . '/' . $arquivo['completo']);
     }
     $imagem = $this->create([$obj->getKeyName() => $obj->getKey(), 'imagem_tipo' => $tipo, 'imagem_nome' => $arquivo['completo'], 'imagem_largura' => $tamanho[0], 'imagem_altura' => $tamanho[1]]);
     return $imagem;
 }