By abhion
This is the code for generating presigned url:
const params = {
Bucket: "bucket-name",
Key: "atya.png",
Expires: 6000,
ContentType: fileType,
ACL: "public-read"
};
s3.getSignedUrl("putObject", params, function(err, url) {
res.send(url);
});
The code to upload from vue app:
const res = await axios.put(signedURL, file, {
headers: {
"Content-type": "image/png",
"x-amz-acl": "public-read",
}
});
console.log(res);
I have enabled cors and given * as you can see in the image: https://imgur.com/a/GoHCeYo
In the network tab I still see a 403 forbidden:
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!
This comment has been deleted
I have the same issue and I narrowed it down to the MD5 hash I was using for the upload.
When I tried the request in Postman with the Content-MD5 headers it returned a 403 with There were headers present in the request which were not signed error
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.