40 Subir archivos de forma privada en el servidor en el curso de LARAVEL (PHP y MySql) FullStack
Duración: 13 minDescripción
🔒 Lección 40: Subir Archivos de Forma Privada en el Servidor
Este capítulo aborda la corrección del error de las subcarpetas y realiza una refactorización fundamental en el sistema de carga de archivos para asegurar que, por defecto, todos los archivos se almacenen de forma privada.
⚙️ Corrección del Error en Subcarpetas
El video comienza solucionando el error introducido en la lección anterior al crear subcarpetas:
- Envío del ID de Usuario: Se corrige la vista show.blade.php agregando un campo oculto (<input type="hidden">) en el modal de creación de subcarpetas. Este campo envía el user_ID del usuario autenticado, asegurando que cada subcarpeta esté correctamente vinculada a su propietario [00:39].
- Recepción en el Controlador: El CarpetaController se actualiza para recibir y almacenar el user_ID al crear la subcarpeta [02:00].
🛡️ Implementación del Almacenamiento Privado
Una vez corregido el error, el instructor enfoca el sistema en la privacidad, iniciando con un reinicio completo de la migración y creación de usuarios para empezar de cero [05:01]:
1. Cambio a Storage Privado
Se modifica el método upload del ArchivoController para usar el almacenamiento privado de Laravel:
- Se comenta la línea que usaba el storage público (public_path) [07:01].
- Se habilita la línea de código que utiliza el método Storage::putFile() [07:09].
Este cambio crucial hace que los archivos se guarden dentro del directorio storage/app (fuera de public), haciéndolos inaccesibles mediante una URL pública directa [08:24].
2. Control de Estado en la Base de Datos
Debido a que los archivos ya no tienen una URL pública, los visores programados previamente dejan de funcionar. Para gestionar el acceso, se introduce una nueva columna en la tabla archivos:
- Se añade la columna estado_archivo en la migración de la tabla archivos [09:56].
- En el controlador, al subir un archivo, el campo estado_archivo se establece por defecto en el valor de privado [10:58].
⏭️ Próximos Pasos
La lección concluye con la necesidad de implementar una opción para cambiar el estado del archivo de privado a público [12:17]. Este cambio permitirá generar un enlace de descarga o visualización temporal que se pueda compartir, cumpliendo el objetivo principal de la gestión de archivos.
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️