The problem was an incorrect AWS API gateway setting. After adding necessaries binary media types there (like image/jpg, image/png) the image files were successfully uploaded and totally matched with originals.
S3 does not change/manipulate objects. Once an object has been uploaded to S3 bucket, it remains same, no matter how many times you download it.
The ETag represents a specific version of the object. It reflects changes only to the contents of an object, not its metadata. The ETag may or may not be an MD5 digest of the object data. Whether or not it is depends on how the object was created and how it is encrypted as described in the following documeantation:
Getting Access Daniel when I load my app on AWS Amplify using s3 bucket methodasked 2 months ago
Move files from S3 Bucket back to Siteasked 7 months ago
S3 download large files (.Net)asked 9 months ago
Batch download files from multiple different folders in the same S3 bucketasked 7 months ago
The image saved in S3 doesn't match the original fileAccepted Answerasked 9 months ago
Using S3 bucket as a file server for the publicasked 4 months ago
Can't download file from S3 bucket in another accountasked 2 years ago
S3 Bucket Real Time Notification when someone upload the file in S3 Bucketasked a month ago
Upload and download whole content of bucketasked 3 years ago
How upload file authenticated in s3 bucket with pythonasked a month ago