The presigned PUT URLs were missing the bucket name (only the key), so R2 read 'uploads' as the bucket, returned a 404 with no CORS headers, and the browser reported it as a CORS failure. Switch to path-style so the URL becomes <account>.r2.cloudflarestorage.com/wedding-media/<key>, which R2 recognizes and applies the bucket's CORS policy to. https://claude.ai/code/session_01TPBqgcSJMppgrpiq7fLywL |
||
|---|---|---|
| .. | ||
| api | ||
| web | ||