メインコンテンツまでスキップ

ファイルストレージ

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

⏭️ 次のステップ