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 |
||
|---|---|---|
| apps | ||
| packages/shared | ||
| .editorconfig | ||
| .gitignore | ||
| .npmrc | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| tsconfig.base.json | ||