daijinara said almost 4 years ago on StimulusJS, Active Storage and DropzoneJS :
Hi David! YES, I solved it!!

The issue was on DigitalOcean that it does not accept localhost:3000,
Response to preflight request doesn't pass access control check

This is how I solved.

1. create cors.xml
2. parse cors.xml to DigitalOcean Sapces through s3cmd by "s3cmd setcors cors.xml s3://{bucket_name}"

s3cmd installation:
https://www.digitalocean.com/docs/spaces/resources/s3cmd/

Your dropzone_controller.js code is the most simple and comprehensive, and it's a great starter compare to others in my opinion!

Thank you so much for your help David!