Closed svyatoslav-zubrin closed 9 years ago
I've just updated the SDK to the latest version (2.2.5) and the issue can be reproduced as well.
Hi @svyatoslav-zubrin
According to S3 Doc: "Amazon S3 stores user-defined metadata in lowercase. Each name, value pair must conform to US-ASCII when using REST and UTF-8 when using SOAP or browser-based uploads via POST."
In your metadata value, the “
is not a valid ASCII characters, thus not supported by S3 since the AWS Mobile SDK for iOS are using REST to make the call. My suggestion would be change from “
to "
in your metadata value.
Yep, my mistake. Thank you for the explanation.
In my app I'm uploading media file to s3 bucket with custom userd-defined metadata using AWSS3GetPreSignedURLRequest. If I use simple string for metadata value - all goes well, but if I try to set some other long string with double quotes in it - the uploaded metadata appears to be initially splitted into couple of parts and than every that part seems to be MIME-encoded. I can see that in properties of the mediafile in AWS console or in my app after downloading it (with preSignedURLRequest again). I'm using AWS iOS SDK v.2.2.4. The string for custom metadata value is:
Pay attention on quotes around word Workout. It seems that they are causing that issue.
And here is how the result metadata looks like (taken from AWS console):