As mentioned in official documentation https://jetstream.laravel.com/3.x/features/profile-management.html#enabling-profile-photos enable profile photos in config/jetstream.php by removing comment for Features::profilePhotos()
In .env file add aws credentials also make sure to follow laravel documentation to use aws s3 driver
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
add one more variable in .env
VAPOR_ARTIFACT_NAME=true
You can change filesystem disk to s3 if needed for default save
FILESYSTEM_DISK=s3
You have to make sure add cors configuration on aws s3 bucket if you get this error - CORS header 'Access-Control-Allow-Origin' is missing.
go to s3 > select bucket > permission > cors configuration edit
in below example change to your local url if want and change with your website url
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"http://127.0.0.1:8000"
],
"ExposeHeaders": []
},
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"https://yourwebsitename.com"
],
"ExposeHeaders": []
},
{
"AllowedHeaders": [],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]