Zum Hauptinhalt springen

File Storage

FeedbackPulse stores uploaded files (logos, product images, feedback photos) on disk.


๐Ÿ“‚ Default: Local Storageโ€‹

By default, files are stored in storage/app/public/ and served via the public/storage symlink.

FILESYSTEM_DISK=local

Storage Structureโ€‹

storage/app/public/
โ”œโ”€โ”€ logos/ # Tenant company logos
โ”œโ”€โ”€ products/ # Product images
โ”œโ”€โ”€ submissions/ # Feedback photo uploads
โ”œโ”€โ”€ avatars/ # User profile pictures
โ””โ”€โ”€ landing/ # Landing page assets
php artisan storage:link

This creates: public/storage โ†’ storage/app/public/


โ˜๏ธ S3-Compatible Storage (Optional)โ€‹

For cloud storage (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

๐Ÿ’ก When to use S3: If you have many tenants uploading photos, or if you want to serve files from a CDN for better performance.


๐Ÿ“ Upload Limitsโ€‹

Configure in your web server:

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

โญ๏ธ Naechste Schritteโ€‹