Ver demo
📱 Móvil
Sección | Captura |
---|---|
Inicio | |
Subiendo archivos | |
Agregando más archivos | |
Listado de archivos | |
Validación | |
Descarga |
Sientete libre de modificar este proyecto a tu gusto, es un proyecto sencillo al cual se le pueden agregar nuevas funcionalidades tanto como sean necesarias.
🗃️ Archivos subidos
Para este proyecto, los archivos subidos se guardan en storage/app/public/temp
Livewire te permite cambiar la ubicación en donde se guardarán los archivos que suba el usuario, para ello es necesario modificar el archivo livewire.php
ubicado en la carpeta config
Dentro del archivo busca temporary_file_upload
, el cual se ve de la siguiente manera:
Como podras notar, para este proyecto esta configurado, pero en caso de que lo quiras cambiar, modifica directory
por el nombre de la carpeta de tu elección:
'directory' => 'ruta/a/tu/directorio'
Ten en cuenta que la unidad de almacenamiento esta seleccionada en public
por lo que tu direcotrio debera de estar dentro de storage/app/public
En caso de no contar con el archivo livewire.php
puedes generarlo con el siguiente comando:
> php artisan livewire:publish --config
📂 PDFs unidos
Los archivos PDF que se unen, se guardan en storage/app/public/mergedpdfs
También puedes cambiar la carpeta destino, creando la tuya, te recomiendo hacerlo dentro de storage/app/public
. Posteriormente es necesario cambiar el archivo UploadPDf.php
ubicado en app/Livewire
Aquí deberás cambiar la varibale $pdf_path
dentro del método merge_pdfs()
En nuestro proyecto está de la siguiente manera:
$pdf_path = storage_path('app/public/mergedpdfs/');
Reemplaza el argumento que se le da a la función storage_path
por la ruta a tu directorio:
#Ejemplo
$pdf_path = storage_path('app/public/ruta/a/tu/carpeta/');
De igual manera dentro de este archivo, puedes cambiar el nombre del nuevo pdf creado, cambiando $filename
:
En nuestro proyecto está de la siguiente manera:
#Concatena 'PDF-Unido con la fecha que se obtiene en la ejecución
$filename = 'PDF-Unido '.date('m-d-Y h-i-s a', time()).'.pdf';
Esta así para evitar conflictos con nombres repetidos y cause errores de descarga. Puedes cambiar al nombre de tu preferencia, toma en cuenta lo anterior, para evitar conflictos
#Ejemplo
$filename = 'Tu-propio-nombre.pdf';
⬇️ Descarga de PDF unido
En caso de que hayas cambiado la carpeta de destino donde se guardarán los pdf unidos, también es necesario cambiar la ruta de descarga, para ello deberás econtrar el archivo Download.php
dentro de app/Livewire
Aquí, modificarás el método download()
public function download() {
#Se hace uso de response()->download()
#Recibe la ruta al archivo a descargar como argumento
return response()->download(storage_path('app/public/mergedpdfs/') . $this->filename);
}
Agrega la ruta a tu directorio que cambiaste previamente en UploadPdf.php
public function download() {
#Ejemplo
return response()->download(storage_path('app/public/ruta/a/tu/directorio/') . $this->filename);
}
Listo, ahora todo seguirá funcionando sin problemas.
- Agregar: Arrastrar y soltar archivos.