File: /var/www/html/xfacil.desafio.com.py/app/Http/Livewire/Documentos.php
<?php
namespace App\Http\Livewire;
use Livewire\Component;
use App\Models\Documento;
use Livewire\WithPagination;
use Livewire\WithFileUploads;
use App\File;
class Documentos extends Component{
use WithPagination;
use WithFileUploads;
public $enlace;
public function render(){
$documentos=Documento::paginate(200);
return view('livewire.documentos',["documentos"=>$documentos]);
}
public function store(){
$validatedDate = $this->validate([
'enlace' => 'required',
],
[
'enlace.required' => 'El campo documento es requerido',
]);
if($file = $this->enlace) {
$control=0;
$nombre = $file->getClientOriginalName();
$nombre = str_replace(" ","_",$nombre);
while ($control == 0) {
if (is_file(public_path().'/documentos_varios'.$nombre )) {
$nombre = rand() . $nombre;
}else{
$this->enlace->storeAs('/documentos_varios',$nombre,'subidavideos');
$control=1;
}
}
}
Documento::create([
'enlace' => $nombre,
]);
$this->emit('alert', ['type' => 'success', 'message' => 'Documento agregado correctamente!']);
$this->enlace='';
}
public function delete($id){
$documento = Documento::find($id);
if(unlink(public_path().'/documentos_varios/'.$documento->enlace)) {
$documento->delete();
}
}
}