27 Uploads de archivos a las carpetas en el fomulario en el curso de LARAVEL (PHP y MySql) FullStack
Duración: 16 min
Módulo: 📤 Carga y Almacenamiento de Archivos
Lección 2 de
4
Descripción
💾 Lección 27: Upload de Archivos a las Carpetas en Laravel con Dropzone
Este capítulo establece la lógica del controlador y las rutas necesarias para procesar la subida de archivos que se inició con la interfaz Dropzone.js, garantizando que los archivos no solo se carguen físicamente, sino que también se organicen por el ID de la carpeta padre.
🛣️ Configuración de Rutas y Controlador
- Ruta de Carga de Archivos: Se define una nueva ruta de tipo POST en web.php para manejar el envío de archivos (mi-unidad.archivo.upload) [01:23].
- Controlador Específico: Esta ruta apunta a la función upload dentro del ArchivoController (un controlador separado para la gestión de archivos) [02:16].
- Ajuste del Formulario: Se corrige un error en la vista anterior al añadir el atributo name="file" al input de tipo file [03:29].
- Envío de ID de Carpeta: Se agrega un input hidden al formulario que lleva el ID de la carpeta actual ($carpeta->id) [08:55]. Este ID es crucial para organizar los archivos en el servidor.
💻 Lógica del Controlador (ArchivoController@upload)
- Recepción de Datos: El controlador recibe el archivo y el ID de la carpeta a través del request [04:07].
- Identificador Único: Se recomienda utilizar el tiempo actual (time()) y concatenarlo con el nombre original del archivo para crear un nombre de archivo único ($fileName) [05:06]. Esto previene conflictos por nombres duplicados.
- Habilitar Almacenamiento: Se recuerda al usuario la necesidad de ejecutar el comando php artisan storage:link para crear un enlace simbólico que haga accesible la carpeta de almacenamiento público (storage/app/public) [06:08].
- Almacenamiento Físico: Se demuestran dos métodos para almacenar el archivo:
- Método store (Recomendado): Utiliza el facade Storage de Laravel para subir el archivo al disco configurado (por defecto, local), creando un subdirectorio con el ID de la carpeta para mantener la organización [08:29].
- Método move (Alternativo): Mueve el archivo a la carpeta public del proyecto, lo que facilita la visualización directa, aunque el instructor decide trabajar con el método store por una mejor gestión [12:59].
✅ Verificación y Próximos Pasos
- Prueba de Carga Masiva: Se demuestra que la subida funciona correctamente y que Dropzone permite la carga de múltiples archivos a la vez [14:45].
- Verificación en el Servidor: Se muestra cómo los archivos subidos se almacenan en la ruta correcta dentro de storage/app/public en una nueva carpeta con el ID de la carpeta principal (ej. 3) [12:11].
- Paso Siguiente: El instructor anuncia que el próximo capítulo se centrará en la persistencia de datos (guardar el registro del archivo en la base de datos) para que los archivos subidos puedan ser visualizados en el frontend [15:22].
Lecciones
⚙️ Configuración e Inicialización
🏗️ Modelos de Datos y Controladores
📁 Gestión y Navegación de Carpetas
🎨 Personalización y Edición de Carpetas
Lección 5. 21 Incorporar Tooltips en las CARPETA en el curso de LARAVEL (PHP y MySql) FullStack
5 min
Lección 6. 22 Menú opción de carpetas de colores en el curso de LARAVEL (PHP y MySql) FullStack
8 min
Lección 7. 23 Actualizar el color de la CARPETA en el curso de LARAVEL (PHP y MySql) FullStack
12 min
Lección 9. 25 Controller colores de las SUBCARPETAS en el curso de LARAVEL (PHP y MySql) FullStack
15 min
📤 Carga y Almacenamiento de Archivos
📄 Listado y Visualización de Archivos
Lección 7. 36 Como hacer un visor VIDEOS Y AUDIOS en el curso de LARAVEL (PHP y MySql) FullStack
10 min
🗑️ Eliminación y Seguridad de Archivos
Lección 5. 41 Como mostrar archivos de manera privada en el curso de LARAVEL (PHP y MySql) FullStack
12 min
🔗 Opciones de Compartición y Privacidad
Lección 4. 46 Mover Archivo de Privado a Público en el Curso FullStack de Laravel (PHP y MySQL)
7 min
Lección 5. 47 Mover el archivo de PÚBLICO a PRIVADO en el curso de LARAVEL (PHP y MySql) FullStack
11 min
🧹 Mantenimiento del Sistema
👑 Roles, Permisos y Panel de Control
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️