Answer:
There are many methods for doing this work.
Explanation:
One solution is directed to upload images to S3 using a pre-signed URL but a pre-signed URL should be used in a limited context to upload specific objects. pre-signed URL expires after some time and you may need to recreate that again, making it not so efficient solution.
Upload images to a separate Auto Scaling group of servers behind an ELB Classic Load Balancer, and have them write to the Amazon S3 bucket but Classic Load Balancing is very expensive. This is an efficient solution but not cost-effective.
The web server will take too much traffic for uploading images and the webserver should be spared to do other tasks. Uploading images to the second bucket and have a Lambda event copy the image to the primary bucket does 't cause traffic and it works efficiently and cost-effective.