Archive

How to do Cors configuration For AWS S3 Bucket to make it work on React website?

ckngaopkf00o9a2s13iox3cm3

How to do Cors configuration For AWS S3 Bucket to make it work on React website?

In short:-

Issue on frontend:- Access to fetch at ” api” from origin “websiteurl” has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. If an opaque response serves your needs, set the request’s mode to ‘no-cors’ to fetch the resource with CORS disabled.

Solution:-

Go to s3 console

  • Permissions
  • scroll to the CORS setting
  • copy paste this:-
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "HEAD"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [],
        "MaxAgeSeconds": 3000
    }
]

Backstory:- Recently, I just joined a new startup. The guy wanted me to make this speech annotation app on a website with react, so that user can annotate the timestamp regions and give a label for that.

Features:-

  • Simple Audio player playing the url from API.
  • Waveform from the Audio
  • Drag and Drop on the waveform to make the region.
  • Form - that appear on clicking the region.
  • Label should appear on the region.
  • Send a post request to the api.

Library used:-

  • Wavesurfer.js ---> best library to make this, already had a very good example of Speech annotation on their website and code execution can be found on the github.

Time taken :- 2-3 days to make the prototype

Here how the app looks like:-

speechAnnotation2.gif