By MelvinRook
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.
Example:
image.png
uploads fine
image@2x.png
results in error
The 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);
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Hello, @MelvinRook
I believe this was discussed in https://www.digitalocean.com/community/questions/spaces-php-sdk-changing-acl-error-when-filepath-or-file-contains-symbols-like-an-at
You can check the reply from @efox
Hope this helps!
Regards, Alex
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.