Almacenamiento de Archivos
FeedbackPulse almacena los archivos subidos (logos, imágenes de productos, fotos de feedback) en disco.
📂 Predeterminado: Almacenamiento Local
Por defecto, los archivos se almacenan en storage/app/public/ y se sirven a través del enlace simbólico public/storage.
FILESYSTEM_DISK=local
Estructura de Almacenamiento
storage/app/public/
├── logos/ # Logos de empresa de los inquilinos
├── products/ # Imágenes de productos
├── submissions/ # Fotos subidas en el feedback
├── avatars/ # Fotos de perfil de usuario
└── landing/ # Recursos de la página de inicio
Crear el Enlace Simbólico
php artisan storage:link
Esto crea: public/storage → storage/app/public/
☁️ Almacenamiento Compatible con S3 (Opcional)
Para almacenamiento en la nube (AWS S3, DigitalOcean Spaces, MinIO):
FILESYSTEM_DISK=s3
AWS_ACCESS_KEY_ID=your_key
AWS_SECRET_ACCESS_KEY=your_secret
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=feedbackpulse-uploads
AWS_URL=https://feedbackpulse-uploads.s3.amazonaws.com
💡 Cuándo usar S3: Si tienes muchos inquilinos subiendo fotos, o si quieres servir archivos desde una CDN para mejor rendimiento.
📏 Límites de Subida
Configura en tu servidor web:
Nginx:
client_max_body_size 20M;
Apache (.htaccess):
php_value upload_max_filesize 20M
php_value post_max_size 25M
PHP (php.ini):
upload_max_filesize = 20M
post_max_size = 25M
memory_limit = 256M