If I have a file name that is
a'd1 & "[tttt]" + 'sq.jpg
When this gets uploaded to Amazon S3, it gets converted to this
a'd1 & %22[tttt]%22 + 'sq.jpg
So the double quotes are URL encoded and the filename itself is changed.
The file has to be fetched using the encoded URL
a%27d1+%26+%2522%5Btttt%5D%2522+%2B+%27sq.jpg
So the encoding rules seem to be:
": %2522 (double encoded)
Space: +
&: %26
[: %5B
]: %5D
+: %2B
Is there a way to determine all the rules that S3 requires? Normal javascript encoding with (encodeURI or even encodeURIComponent) won't work