Armazenamento de Arquivos
O FeedbackPulse armazena arquivos enviados (logotipos, imagens de produtos, fotos de feedback) no disco.
📂 Padrão: Armazenamento Local
Por padrão, os arquivos são armazenados em storage/app/public/ e servidos via o symlink public/storage.
FILESYSTEM_DISK=local
Estrutura de Armazenamento
storage/app/public/
├── logos/ # Logotipos das empresas dos tenants
├── products/ # Imagens de produtos
├── submissions/ # Uploads de fotos de feedback
├── avatars/ # Fotos de perfil de usuários
└── landing/ # Assets da página inicial
Criando o Symlink
php artisan storage:link
Isso cria: public/storage → storage/app/public/
☁️ Armazenamento Compatível com S3 (Opcional)
Para armazenamento em nuvem (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
💡 Quando usar S3: Se você tem muitos tenants enviando fotos, ou se quiser servir arquivos de uma CDN para melhor desempenho.
📏 Limites de Upload
Configure no seu 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