ファイルストレージ
FeedbackPulseはアップロードされたファイル(ロゴ、製品画像、フィードバック写真)をディスクに保存します。
📂 デフォルト:ローカルストレージ
デフォルトでは、ファイルは storage/app/public/ に保存され、public/storage シンボリックリンク経由で提供されます。
FILESYSTEM_DISK=local
ストレージ構造
storage/app/public/
├── logos/ # テナント企業のロゴ
├── products/ # 製品画像
├── submissions/ # フィードバック写真 のアップロード
├── avatars/ # ユーザープロフィール画像
└── landing/ # ランディングページアセット
シンボリックリンクの作成
php artisan storage:link
これにより作成されます:public/storage → storage/app/public/
☁️ S3互換ストレージ(オプション)
クラウドストレージ(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
💡 S3を使用するタイミング: 多数のテナントが写真をアップロードする場合、またはパフォーマンス向上のためにCDNからファイルを提供したい場合。
📏 アップロード制限
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