When adding a special character to a file name, the file upload results into an error. I’m using the
Spaces-API PHP library with the latest AWS S3 client, as recommended in the DigitalOcean documentation.
image.png uploads fine
firstname.lastname@example.org results in error
Exception has occurred. GuzzleHttp\Exception\ClientException: Client error: `PUT https://foo.ams3.digitaloceanspaces.com/staging/test/s/Test2%40x5dc343e17c8838.99908039.png` resulted in a `403 Forbidden` response: <?xml version="1.0" encoding="UTF-8"?><Error><Code>SignatureDoesNotMatch</Code><RequestId>tx00000000000 (truncated...)
Example code to reproduce the error:
// Connect $space = new SpacesConnect($key, $secret, $space_name, $region); // Generate file id $file_id = uniqid('', true); // File name $filename = $file_id . '@2x.png'; // Path to file $path_file = 'test/' . $filename; // Upload source file to CDN $space->UploadFile($data, 'public', $path_file, '', $mime);
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Click below to sign up and get $100 of credit to try our products over 60 days!