composer require league/flysystem-aws-s3-v3:^3.0
Forms\Components\FileUpload::make('cover_art') ->disk('s3') ->directory('release/cover-art') ->storeFileNamesIn('original_image_name') ->visibility('private')
'temporary_file_upload' => [ 'disk' => 's3', // Example: 'local', 's3' | Default: 'default' 'rules' => null, // Example: ['file', 'mimes:png,jpg'] | Default: ['required', 'file', 'max:12288'] (12MB) 'directory' => 'release/cover-art', // Example: 'tmp' | Default: 'livewire-tmp' 'middleware' => null, // Example: 'throttle:5,1' | Default: 'throttle:60,1' 'preview_mimes' => [ // Supported file types for temporary pre-signed file URLs... 'png', 'gif', 'bmp', 'svg', 'wav', 'mp4', 'mov', 'avi', 'wmv', 'mp3', 'm4a', 'jpg', 'jpeg', 'mpga', 'webp', 'wma', ], 'max_upload_time' => 5, // Max duration (in minutes) before an upload is invalidated... 'cleanup' => true, // Should cleanup temporary uploads older than 24 hrs... ],
[ { "AllowedOrigins": [ "https://admin.soundmera.com" ], "AllowedMethods": [ "GET", "POST", "DELETE", "PUT", "HEAD" ], "AllowedHeaders": [ "*" ], "ExposeHeaders": [ "Access-Control-Allow-Origin", "x-amz-server-side-encryption", "x-amz-request-id", "x-amz-id-2", "Content-Type" ], "MaxAgeSeconds": 3000 }]