The error message suggests that the bucket you are trying to upload to does not support Access Control Lists (ACLs). You can try removing any references to ACLs in your code and see if that resolves the issue. Alternatively, you can create a new bucket that supports ACLs and upload your images to that bucket instead.
If you are using the AWS SDK for PHP, you can remove the ACL parameter from your S3Client::putObject() method call. For example:
$s3Client->putObject([
'Bucket' => 'my-bucket',
'Key' => 'my-image.jpg',
'Body' => $imageData,
'ContentType' => 'image/jpeg',
// Remove the ACL parameter
]);
If you are using the Laravel Flysystem package, you can remove the 'visibility' parameter from your Storage::put() method call. For example:
Storage::disk('s3')->put('my-image.jpg', $imageData, [
'ContentType' => 'image/jpeg',
// Remove the visibility parameter
]);
If neither of these solutions work, you may need to contact AWS support for further assistance.